class MARC::Spec::Queries::SubfieldValue
Attributes
character_spec[R]
Attributes
subfield[R]
Attributes
Public Class Methods
new(subfield, character_spec = nil)
click to toggle source
Initializer
# File lib/marc/spec/queries/subfield_value.rb, line 19 def initialize(subfield, character_spec = nil) @subfield = ensure_type(subfield, Subfield) @character_spec = ensure_type(character_spec, CharacterSpec, allow_nil: true) end
Public Instance Methods
to_s()
click to toggle source
Object overrides
# File lib/marc/spec/queries/subfield_value.rb, line 27 def to_s StringIO.new.tap do |out| out << subfield out << "/#{character_spec}" if character_spec end.string end
Protected Instance Methods
can_apply?(marc_obj)
click to toggle source
Protected
# File lib/marc/spec/queries/subfield_value.rb, line 39 def can_apply?(marc_obj) subfield.send(:can_apply?, marc_obj) end
do_apply(data_field)
click to toggle source
# File lib/marc/spec/queries/subfield_value.rb, line 43 def do_apply(data_field) subfields = subfield.apply(data_field) return subfields.map(&:value) unless character_spec subfields.flat_map { |sf| character_spec.apply(sf.value) } end
equality_attrs()
click to toggle source
# File lib/marc/spec/queries/subfield_value.rb, line 57 def equality_attrs %i[subfield character_spec] end
to_s_inspect()
click to toggle source
# File lib/marc/spec/queries/subfield_value.rb, line 50 def to_s_inspect StringIO.new.tap do |out| out << subfield.inspect out << "/#{character_spec.inspect}" if character_spec end.string end