module EsSearchable::Configurable
Public Class Methods
extended(base)
click to toggle source
# File lib/es_searchable/configurable.rb, line 5 def self.extended(base) base.const_set :SearchMethods, [:where, :like, :limit, :offset, :or, :not, :select, :and] base.const_set :DEFAULTS, { log: true, retry_on_failure: 5, async_callback: true, queue: 'elasticsearch', reload_on_failure: true, hosts: ['localhost:9200'], logger: Logger.new($stdout) } base.class_eval do DEFAULTS.each do |k, v| self.define_singleton_method "#{k}=" do |value| self.options.merge!(k => value) end self.define_singleton_method k do self.options[k] end end end end
Public Instance Methods
configure() { |self| ... }
click to toggle source
# File lib/es_searchable/configurable.rb, line 32 def configure yield self end
options()
click to toggle source
# File lib/es_searchable/configurable.rb, line 36 def options @options ||= DEFAULTS.dup end
options=(opts)
click to toggle source
# File lib/es_searchable/configurable.rb, line 40 def options=(opts) @options = opts end