Class: QueryFilter::Utils::ScopeRange
- Inherits:
-
Object
- Object
- QueryFilter::Utils::ScopeRange
- Defined in:
- lib/query_filter/utils/scope_range.rb
Overview
Instance Method Summary collapse
-
#initialize(name, options = {}) ⇒ ScopeRange
constructor
A new instance of ScopeRange.
- #name_from ⇒ Object
- #name_to ⇒ Object
- #query(column) ⇒ Object
- #valid? ⇒ Boolean
- #value_from ⇒ Object
- #value_to ⇒ Object
Constructor Details
#initialize(name, options = {}) ⇒ ScopeRange
Returns a new instance of ScopeRange.
11 12 13 14 |
# File 'lib/query_filter/utils/scope_range.rb', line 11 def initialize(name, = {}) @name = name @options = end |
Instance Method Details
#name_from ⇒ Object
16 17 18 |
# File 'lib/query_filter/utils/scope_range.rb', line 16 def name_from @name_from ||= "#{@name}_from".to_sym end |
#name_to ⇒ Object
20 21 22 |
# File 'lib/query_filter/utils/scope_range.rb', line 20 def name_to @name_to ||= "#{@name}_to".to_sym end |
#query(column) ⇒ Object
36 37 38 39 40 41 42 43 44 |
# File 'lib/query_filter/utils/scope_range.rb', line 36 def query(column) if value_from.present? && value_to.present? ["#{column} BETWEEN ? AND ?", value_from.to_f, value_to.to_f] elsif value_from.present? ["#{column} >= ?", value_from.to_f] elsif value_to.present? ["#{column} <= ?", value_to.to_f] end end |
#valid? ⇒ Boolean
32 33 34 |
# File 'lib/query_filter/utils/scope_range.rb', line 32 def valid? @options && (value_from.present? || value_to.present?) end |
#value_from ⇒ Object
24 25 26 |
# File 'lib/query_filter/utils/scope_range.rb', line 24 def value_from @options[name_from] end |
#value_to ⇒ Object
28 29 30 |
# File 'lib/query_filter/utils/scope_range.rb', line 28 def value_to @options[name_to] end |