Class: ActiveStash::QueryBuilder::Field
- Inherits:
- BasicObject
- Defined in:
- lib/active_stash/query_builder.rb
Overview
:nodoc:
Instance Attribute Summary collapse
-
#index ⇒ Object
readonly
Returns the value of attribute index.
-
#op ⇒ Object
readonly
Returns the value of attribute op.
-
#values ⇒ Object
readonly
Returns the value of attribute values.
Instance Method Summary collapse
- #<(value) ⇒ Object
- #<=(value) ⇒ Object
- #==(value) ⇒ Object
- #=~(value) ⇒ Object
- #>(value) ⇒ Object
- #>=(value) ⇒ Object
- #between(min, max) ⇒ Object
-
#initialize(name, available_indexes) ⇒ Field
constructor
A new instance of Field.
- #inspect ⇒ Object
Constructor Details
#initialize(name, available_indexes) ⇒ Field
Returns a new instance of Field.
67 68 69 70 71 |
# File 'lib/active_stash/query_builder.rb', line 67 def initialize(name, available_indexes) @name = name @available_indexes = available_indexes ::Kernel.raise "No indexes available for '#{name}'" if @available_indexes.empty? end |
Instance Attribute Details
#index ⇒ Object (readonly)
Returns the value of attribute index.
65 66 67 |
# File 'lib/active_stash/query_builder.rb', line 65 def index @index end |
#op ⇒ Object (readonly)
Returns the value of attribute op.
65 66 67 |
# File 'lib/active_stash/query_builder.rb', line 65 def op @op end |
#values ⇒ Object (readonly)
Returns the value of attribute values.
65 66 67 |
# File 'lib/active_stash/query_builder.rb', line 65 def values @values end |
Instance Method Details
#<(value) ⇒ Object
105 106 107 108 |
# File 'lib/active_stash/query_builder.rb', line 105 def <(value) @op ||= :lt set(value) end |
#<=(value) ⇒ Object
110 111 112 113 |
# File 'lib/active_stash/query_builder.rb', line 110 def <=(value) @op ||= :lte set(value) end |
#==(value) ⇒ Object
78 79 80 81 |
# File 'lib/active_stash/query_builder.rb', line 78 def ==(value) @op ||= :eq set(value) end |
#=~(value) ⇒ Object
83 84 85 86 87 88 89 90 91 92 93 |
# File 'lib/active_stash/query_builder.rb', line 83 def =~(value) case value when ::String @op ||= :match set(value) when ::Regexp ::Kernel.raise ::ActiveStash::QueryError, "regular expressions are not yet supported for matching" else ::Kernel.raise ::ActiveStash::QueryError, "unknown value type passed to =~: #{value.inspect}" end end |
#>(value) ⇒ Object
95 96 97 98 |
# File 'lib/active_stash/query_builder.rb', line 95 def >(value) @op ||= :gt set(value) end |
#>=(value) ⇒ Object
100 101 102 103 |
# File 'lib/active_stash/query_builder.rb', line 100 def >=(value) @op ||= :gte set(value) end |
#between(min, max) ⇒ Object
115 116 117 118 |
# File 'lib/active_stash/query_builder.rb', line 115 def between(min, max) @op ||= :between set(min, max) end |
#inspect ⇒ Object
73 74 75 76 |
# File 'lib/active_stash/query_builder.rb', line 73 def inspect index_name = index ? index.name : "no-index" "<#{index_name} #{op} '#{values.join(", ")}'>" end |