Class: Museum::Case

Inherits:
ApplicationRecord
  • Object
show all
Defined in:
app/models/museum/case.rb

Instance Method Summary collapse

Instance Method Details

#expired?Boolean

Returns:

  • (Boolean)


18
19
20
# File 'app/models/museum/case.rb', line 18

def expired?
  updated_at < (Time.now - Museum.configuration.refresh_interval).to_datetime
end

#freshenObject



22
23
24
25
26
27
28
29
30
31
32
33
34
35
# File 'app/models/museum/case.rb', line 22

def freshen
  for lens in Museum::Loupe.all
    # puts lens.magnify(self).inspect
    lens.magnify(self).each do |key, value|
      case_details.update_or_create_by( {museum_loupe_id: lens.id, key: key}, {value: value.to_s} )
    end
  end
  unless new_record?
    touch
    reload
  else
    self
  end
end

#freshen_if_expiredObject



10
11
12
13
14
15
16
# File 'app/models/museum/case.rb', line 10

def freshen_if_expired
  if expired?
    freshen
  else
    self
  end
end

#loupe(slug) ⇒ Object



41
42
43
# File 'app/models/museum/case.rb', line 41

def loupe(slug)
  case_details.find_all_by_loupe_slug(slug)
end

#to_paramObject



37
38
39
# File 'app/models/museum/case.rb', line 37

def to_param
  name
end