Class: MARC::Spec::Queries::AlNumRange
- Inherits:
-
Object
- Object
- MARC::Spec::Queries::AlNumRange
- Includes:
- PositionOrRange
- Defined in:
- lib/marc/spec/queries/al_num_range.rb
Instance Attribute Summary collapse
-
#from ⇒ Object
readonly
———————————————————— Attributes.
-
#to ⇒ Object
readonly
———————————————————— Attributes.
Instance Method Summary collapse
- #alphabetic? ⇒ Boolean
- #empty? ⇒ Boolean
- #include?(v) ⇒ Boolean
- #index_range ⇒ Object
-
#initialize(from, to) ⇒ AlNumRange
constructor
———————————————————— Initializer.
-
#select_from(seq) ⇒ Object
———————————————————— Instance methods.
-
#to_s ⇒ Object
———————————————————— Object overrides.
Methods included from Part
Constructor Details
#initialize(from, to) ⇒ AlNumRange
Initializer
17 18 19 |
# File 'lib/marc/spec/queries/al_num_range.rb', line 17 def initialize(from, to) @from, @to = parse_endpoints(from, to) end |
Instance Attribute Details
#from ⇒ Object (readonly)
Attributes
12 13 14 |
# File 'lib/marc/spec/queries/al_num_range.rb', line 12 def from @from end |
#to ⇒ Object (readonly)
Attributes
12 13 14 |
# File 'lib/marc/spec/queries/al_num_range.rb', line 12 def to @to end |
Instance Method Details
#alphabetic? ⇒ Boolean
37 38 39 |
# File 'lib/marc/spec/queries/al_num_range.rb', line 37 def alphabetic? lc_alpha?(from) || lc_alpha?(to) end |
#empty? ⇒ Boolean
41 42 43 |
# File 'lib/marc/spec/queries/al_num_range.rb', line 41 def empty? from.nil? && to.nil? end |
#include?(v) ⇒ Boolean
29 30 31 32 33 34 35 |
# File 'lib/marc/spec/queries/al_num_range.rb', line 29 def include?(v) return false if empty? return (v < 0 && v > reverse_endpoint) if from.nil? return false if v < from to.nil? ? true : v <= to end |
#index_range ⇒ Object
45 46 47 |
# File 'lib/marc/spec/queries/al_num_range.rb', line 45 def index_range @index_range ||= to_range end |
#select_from(seq) ⇒ Object
Instance methods
24 25 26 27 |
# File 'lib/marc/spec/queries/al_num_range.rb', line 24 def select_from(seq) raw_result = select_raw_from(seq) seq.is_a?(String) ? wrap_string_result(raw_result) : raw_result end |
#to_s ⇒ Object
Object overrides
52 53 54 |
# File 'lib/marc/spec/queries/al_num_range.rb', line 52 def to_s "#{from || '#'}-#{to || '#'}" end |