class MARC::Spec::Queries::CharacterSpec
Attributes
character_spec[R]
Attributes
Public Class Methods
new(character_spec = AlNumRange.new(0, nil))
click to toggle source
Initializer
# File lib/marc/spec/queries/character_spec.rb, line 18 def initialize(character_spec = AlNumRange.new(0, nil)) @character_spec = ensure_type(character_spec, PositionOrRange, allow_nil: false) end
Public Instance Methods
can_apply?(marc_obj)
click to toggle source
# File lib/marc/spec/queries/character_spec.rb, line 32 def can_apply?(marc_obj) # MARC leader is ControlField-like but is returned as string [String, MARC::ControlField, MARC::Subfield].any? { |t| marc_obj.is_a?(t) } end
to_s()
click to toggle source
Object overrides
# File lib/marc/spec/queries/character_spec.rb, line 25 def to_s "/#{character_spec}" end
Protected Instance Methods
do_apply(control_field)
click to toggle source
# File lib/marc/spec/queries/character_spec.rb, line 45 def do_apply(control_field) field_value = field_value_for(control_field) field_value ? [field_value] : [] end
equality_attrs()
click to toggle source
# File lib/marc/spec/queries/character_spec.rb, line 53 def equality_attrs %i[character_spec] end
to_s_inspect()
click to toggle source
# File lib/marc/spec/queries/character_spec.rb, line 57 def to_s_inspect "/#{character_spec.inspect}" end
Private Instance Methods
field_value_for(control_field)
click to toggle source
Private methods
# File lib/marc/spec/queries/character_spec.rb, line 66 def field_value_for(control_field) value_str = string_value_from(control_field) return value_str unless character_spec character_spec.select_from(value_str) end
string_value_from(tag_result)
click to toggle source
# File lib/marc/spec/queries/character_spec.rb, line 73 def string_value_from(tag_result) return tag_result if tag_result.is_a?(String) return tag_result.value if tag_result.respond_to?(:value) end