Class: MARC::Spec::Queries::CharacterSpec

Inherits:
Object
  • Object
show all
Includes:
Selector
Defined in:
lib/marc/spec/queries/character_spec.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Applicable

#apply

Methods included from Part

#eql?, #hash, #inspect

Constructor Details

#initialize(character_spec = AlNumRange.new(0, nil)) ⇒ CharacterSpec


Initializer



18
19
20
# 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

Instance Attribute Details

#character_specObject (readonly)


Attributes



13
14
15
# File 'lib/marc/spec/queries/character_spec.rb', line 13

def character_spec
  @character_spec
end

Instance Method Details

#can_apply?(marc_obj) ⇒ Boolean


Applicable

Returns:

  • (Boolean)


32
33
34
35
# 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_sObject


Object overrides



25
26
27
# File 'lib/marc/spec/queries/character_spec.rb', line 25

def to_s
  "/#{character_spec}"
end