Module: Croods::Resource::Search
- Defined in:
- lib/croods/resource/search.rb
Instance Method Summary collapse
- #default_search_options ⇒ Object
- #search_attribute ⇒ Object
- #search_attribute_name ⇒ Object
- #search_block ⇒ Object
- #search_by(name, options = {}, &block) ⇒ Object
- #search_method_name ⇒ Object
- #search_options ⇒ Object
- #search_params ⇒ Object
- #skip_search ⇒ Object
- #skip_search? ⇒ Boolean
Instance Method Details
#default_search_options ⇒ Object
30 31 32 33 34 35 36 37 38 39 40 |
# File 'lib/croods/resource/search.rb', line 30 def searchable = [] attributes.each do |key, value| searchable << key if value.type.in? %i[string text] end { against: searchable } end |
#search_attribute ⇒ Object
6 7 8 9 10 11 12 |
# 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 ⇒ Object
20 21 22 23 24 |
# File 'lib/croods/resource/search.rb', line 20 def search_attribute_name return if skip_search? @search_attribute.name end |
#search_block ⇒ Object
46 47 48 |
# File 'lib/croods/resource/search.rb', line 46 def search_block @search_block end |
#search_by(name, options = {}, &block) ⇒ Object
58 59 60 61 62 |
# File 'lib/croods/resource/search.rb', line 58 def search_by(name, = {}, &block) @search_method_name = name @search_options = @search_block = block end |
#search_method_name ⇒ Object
26 27 28 |
# File 'lib/croods/resource/search.rb', line 26 def search_method_name @search_method_name ||= :search end |
#search_options ⇒ Object
42 43 44 |
# File 'lib/croods/resource/search.rb', line 42 def @search_options ||= end |
#search_params ⇒ Object
14 15 16 17 18 |
# File 'lib/croods/resource/search.rb', line 14 def search_params return [] if skip_search? @search_params ||= [search_attribute] end |
#skip_search ⇒ Object
54 55 56 |
# File 'lib/croods/resource/search.rb', line 54 def skip_search @skip_search ||= true end |
#skip_search? ⇒ Boolean
50 51 52 |
# File 'lib/croods/resource/search.rb', line 50 def skip_search? @skip_search end |