module Crm::Core::Mixins::Searchable::ClassMethods

@api public

Public Instance Methods

all() click to toggle source

Returns an {Crm::Core::ItemEnumerator enumerator} for iterating over all items of this base type. The items are sorted by created_at. @return [ItemEnumerator] @api public

# File lib/crm/core/mixins/searchable.rb, line 24
def all
  search_configurator.
      sort_by('created_at').
      unlimited.
      perform_search
end
first() click to toggle source

Returns the item of this base type that was created first. @return [BasicResource] @api public

# File lib/crm/core/mixins/searchable.rb, line 12
def first
  search_configurator.
      sort_by('created_at').
      limit(1).
      perform_search.
      first
end
query(query) click to toggle source

Returns a new {Crm::Core::SearchConfigurator SearchConfigurator} set to the given query. Additionally, it is limited to this base type and can be further refined using chainable methods. This method is equivalent to +search_configurator.query(query)+. See {SearchConfigurator#query} for examples. @return [SearchConfigurator] @api public

# File lib/crm/core/mixins/searchable.rb, line 60
def query(query)
  search_configurator.query(query)
end
search_configurator() click to toggle source

Returns a new {Crm::Core::SearchConfigurator SearchConfigurator} limited to this base type. It can be further refined using chainable methods. @return [SearchConfigurator] @api public

# File lib/crm/core/mixins/searchable.rb, line 68
def search_configurator
  SearchConfigurator.new({
    filters: filters_for_base_type,
  })
end
where(field, condition, value = nil) click to toggle source

Returns a new {Crm::Core::SearchConfigurator SearchConfigurator} set to the given filter (field, condition, value). Additionally, it is limited to this base type and can be further refined using chainable methods. This method is equivalent to +search_configurator.and(field, condition, value)+. See {SearchConfigurator#and} for parameters and examples. @return [SearchConfigurator] @api public

# File lib/crm/core/mixins/searchable.rb, line 38
def where(field, condition, value = nil)
  search_configurator.and(field, condition, value)
end
where_not(field, condition, value = nil) click to toggle source

Returns a new {Crm::Core::SearchConfigurator SearchConfigurator} set to the given negated filter (field, condition, value). Additionally, it is limited to this base type and can be further refined using chainable methods. This method is equivalent to +search_configurator.and_not(field, condition, value)+. See {SearchConfigurator#and_not} for parameters and examples. @return [SearchConfigurator] @api public

# File lib/crm/core/mixins/searchable.rb, line 49
def where_not(field, condition, value = nil)
  search_configurator.and_not(field, condition, value)
end

Private Instance Methods

filters_for_base_type() click to toggle source
# File lib/crm/core/mixins/searchable.rb, line 76
def filters_for_base_type
  [{
    field: 'base_type',
    condition: 'equals',
    value: base_type,
  }]
end