Class: QueryFilter::Rules::SplitterRange::RangeParam

Inherits:
Object
  • Object
show all
Defined in:
lib/query_filter/rules/splitter_range.rb

Constant Summary collapse

SPLITTER =
/[;-]/

Instance Method Summary collapse

Constructor Details

#initialize(value) ⇒ RangeParam

Returns a new instance of RangeParam.



6
7
8
# File 'lib/query_filter/rules/splitter_range.rb', line 6

def initialize(value)
  @value = value
end

Instance Method Details

#itemsObject



18
19
20
# File 'lib/query_filter/rules/splitter_range.rb', line 18

def items
  @items ||= @value.split(SPLITTER).map(&:strip).map(&:to_i)
end

#rangeObject



14
15
16
# File 'lib/query_filter/rules/splitter_range.rb', line 14

def range
  ::Range.new(*items)
end

#valid?Boolean

Returns:

  • (Boolean)


10
11
12
# File 'lib/query_filter/rules/splitter_range.rb', line 10

def valid?
  @value.present? && items.size == 2
end