Class: Spotlight::Resource
Instance Attribute Summary collapse
Class Method Summary
collapse
Instance Method Summary
collapse
#reindex
Instance Attribute Details
Returns the value of attribute performing_reindex.
9
10
11
|
# File 'app/models/spotlight/resource.rb', line 9
def performing_reindex
@performing_reindex
end
|
Class Method Details
.class_for_resource(r) ⇒ Object
24
25
26
27
28
29
30
|
# File 'app/models/spotlight/resource.rb', line 24
def self.class_for_resource r
p = providers.select do |p|
p.can_provide? r
end
p.sort_by(&:weight).first
end
|
.providers ⇒ Object
20
21
22
|
# File 'app/models/spotlight/resource.rb', line 20
def self.providers
Spotlight::Engine.config.resource_providers
end
|
Instance Method Details
#becomes_provider ⇒ Object
43
44
45
46
47
48
49
50
51
52
53
|
# File 'app/models/spotlight/resource.rb', line 43
def becomes_provider
klass = Spotlight::Resource.class_for_resource(self)
if klass
z = self.becomes klass
z.type = z.class.to_s
z
else
self
end
end
|
#needs_provider? ⇒ Boolean
55
56
57
|
# File 'app/models/spotlight/resource.rb', line 55
def needs_provider?
type.blank?
end
|
#to_solr ⇒ Object
32
33
34
35
36
37
|
# File 'app/models/spotlight/resource.rb', line 32
def to_solr
{
spotlight_resource_id_ssim: "#{(type.tableize if type) || self.class.to_s.tableize }:#{id}",
spotlight_resource_url_ssim: url
}
end
|
#update_index_time! ⇒ Object
39
40
41
|
# File 'app/models/spotlight/resource.rb', line 39
def update_index_time!
self.update_columns indexed_at: Time.current
end
|