module Croods::Resource::Search

Public Instance Methods

default_search_options() click to toggle source
# File lib/croods/resource/search.rb, line 30
def default_search_options
  searchable = []

  attributes.each do |key, value|
    searchable << key if value.type.in? %i[string text]
  end

  {
    against: searchable
  }
end
search_attribute() click to toggle source
# File lib/croods/resource/search.rb, line 6
def search_attribute
  return if skip_search?

  @search_attribute ||= Croods::Attribute.new(
    'query', :string, null: true
  )
end
search_attribute_name() click to toggle source
# File lib/croods/resource/search.rb, line 20
def search_attribute_name
  return if skip_search?

  @search_attribute.name
end
search_block() click to toggle source
# File lib/croods/resource/search.rb, line 46
def search_block
  @search_block
end
search_by(name, options = {}, &block) click to toggle source
# File lib/croods/resource/search.rb, line 58
def search_by(name, options = {}, &block)
  @search_method_name = name
  @search_options = options
  @search_block = block
end
search_method_name() click to toggle source
# File lib/croods/resource/search.rb, line 26
def search_method_name
  @search_method_name ||= :search
end
search_options() click to toggle source
# File lib/croods/resource/search.rb, line 42
def search_options
  @search_options ||= default_search_options
end
search_params() click to toggle source
# File lib/croods/resource/search.rb, line 14
def search_params
  return [] if skip_search?

  @search_params ||= [search_attribute]
end
skip_search?() click to toggle source
# File lib/croods/resource/search.rb, line 50
def skip_search?
  @skip_search
end