class Locomotive::Search::BackendFactory
Attributes
klass[R]
Public Class Methods
new(name_or_klass)
click to toggle source
# File lib/locomotive/search/backend_factory.rb, line 8 def initialize(name_or_klass) if name_or_klass.is_a?(Symbol) || name_or_klass.is_a?(String) begin require_relative "./backend/#{name_or_klass}" @klass = "Locomotive::Search::Backend::#{name_or_klass.to_s.camelize}".constantize rescue LoadError raise UnknownBackendError.new("'#{name_or_klass}' is not a valid backend") end else @klass = name_or_klass end end
Public Instance Methods
create(site, locale)
click to toggle source
# File lib/locomotive/search/backend_factory.rb, line 21 def create(site, locale) return nil unless self.setup? backend = self.klass.new(site, locale) backend.valid? ? backend : nil end
enabled_for?(site)
click to toggle source
# File lib/locomotive/search/backend_factory.rb, line 38 def enabled_for?(site) self.setup? && self.klass.enabled_for?(site) end
name()
click to toggle source
# File lib/locomotive/search/backend_factory.rb, line 28 def name return nil unless self.setup? self.klass.name.demodulize.underscore end
reset_done!(site)
click to toggle source
# File lib/locomotive/search/backend_factory.rb, line 46 def reset_done!(site) self.setup? && self.klass.reset_done!(site) end
reset_for?(site)
click to toggle source
# File lib/locomotive/search/backend_factory.rb, line 42 def reset_for?(site) self.setup? && self.klass.reset_for?(site) end
setup?()
click to toggle source
# File lib/locomotive/search/backend_factory.rb, line 34 def setup? self.klass.present? end