class MARC::Spec::Queries::IndicatorValue
Constants
- VALID_INDICATORS
Constants
Attributes
ind[R]
Attributes
tag[R]
Attributes
Public Class Methods
new(ind)
click to toggle source
Initializer
# File lib/marc/spec/queries/indicator_value.rb, line 22 def initialize(ind) @ind = valid_indicator(ind) end
Public Instance Methods
can_apply?(marc_obj)
click to toggle source
# File lib/marc/spec/queries/indicator_value.rb, line 36 def can_apply?(marc_obj) %i[indicator1 indicator2].all? { |m| marc_obj.respond_to?(m) } end
to_s()
click to toggle source
Object overrides
# File lib/marc/spec/queries/indicator_value.rb, line 29 def to_s "^#{ind}" end
Protected Instance Methods
do_apply(marc_obj)
click to toggle source
# File lib/marc/spec/queries/indicator_value.rb, line 48 def do_apply(marc_obj) ind_val = ind_val_for(marc_obj) ind_val ? [ind_val] : [] end
equality_attrs()
click to toggle source
# File lib/marc/spec/queries/indicator_value.rb, line 53 def equality_attrs %i[ind] end
Private Instance Methods
ind_val_for(data_field)
click to toggle source
# File lib/marc/spec/queries/indicator_value.rb, line 59 def ind_val_for(data_field) case ind when 1 data_field.indicator1 when 2 data_field.indicator2 end end
valid_indicator(ind_val)
click to toggle source
# File lib/marc/spec/queries/indicator_value.rb, line 68 def valid_indicator(ind_val) ind = int_or_nil(ind_val) return ind if VALID_INDICATORS.include?(ind) raise ArgumentError, "Not a valid indicator: #{ind_val.inspect}" end