class ElasticQueue::Base

Public Class Methods

count() click to toggle source
# File lib/elastic_queue/base.rb, line 76
def self.count
  query.count
end
default_scope(proc) click to toggle source
# File lib/elastic_queue/base.rb, line 44
def self.default_scope(proc)
  @default_scope = proc
end
eager_load(includes) click to toggle source
# File lib/elastic_queue/base.rb, line 36
def self.eager_load(includes)
  @eager_loads = includes
end
eager_loads() click to toggle source
# File lib/elastic_queue/base.rb, line 40
def self.eager_loads
  @eager_loads
end
filter(options) click to toggle source
# File lib/elastic_queue/base.rb, line 72
def self.filter(options)
  query.filter(options)
end
index_name() click to toggle source
# File lib/elastic_queue/base.rb, line 28
def self.index_name
  @index_name ||= to_s.underscore
end
index_name=(name) click to toggle source
# File lib/elastic_queue/base.rb, line 32
def self.index_name=(name)
  @index_name = name
end
model_classes() click to toggle source
# File lib/elastic_queue/base.rb, line 24
def self.model_classes
  model_names.map { |s| s.to_s.camelize.constantize }
end
model_names() click to toggle source
# File lib/elastic_queue/base.rb, line 19
def self.model_names
  fail NotImplementedError, "No models defined in #{self.class}" unless defined?(@models)
  @models
end
models(*models) click to toggle source
# File lib/elastic_queue/base.rb, line 15
def self.models(*models)
  @models = models
end
query() click to toggle source
# File lib/elastic_queue/base.rb, line 66
def self.query
  Query.new(self).tap do |q|
    q.instance_exec(&@default_scope) if @default_scope
  end
end
scope(name, body) click to toggle source
# File lib/elastic_queue/base.rb, line 48
def self.scope(name, body)
  @scopes.merge(name => body)
end
scopes() click to toggle source
# File lib/elastic_queue/base.rb, line 52
def self.scopes
  @scopes ||= {}
end
search_client() click to toggle source
# File lib/elastic_queue/base.rb, line 11
def self.search_client
  @search_client ||= Elasticsearch::Client.new hosts: ElasticQueue::OPTIONS[:elasticsearch_hosts]
end

Public Instance Methods

query() click to toggle source

instance methods

# File lib/elastic_queue/base.rb, line 81
def query
  @query ||= self.class.query
end