Class: BerkeleyLibrary::Marc::FieldInfo::VarFields::IndDef
- Inherits:
-
Object
- Object
- BerkeleyLibrary::Marc::FieldInfo::VarFields::IndDef
- Includes:
- Obsolescible
- Defined in:
- lib/berkeley_library/marc/field_info/var_fields/ind_def.rb
Constant Summary collapse
- POS_NAMES =
{ 1 => 'First', 2 => 'Second' }.freeze
Constants included from Obsolescible
Instance Attribute Summary collapse
-
#desc ⇒ Object
readonly
Returns the value of attribute desc.
-
#pos ⇒ Object
readonly
Returns the value of attribute pos.
-
#val_defs ⇒ Object
readonly
Returns the value of attribute val_defs.
Instance Method Summary collapse
-
#initialize(pos:, desc:, val_defs:) ⇒ IndDef
constructor
A new instance of IndDef.
- #reject_obsoletes ⇒ Object
- #to_s ⇒ Object
Methods included from Obsolescible
#_reject_obsolete, #empty?, #obsolete?
Constructor Details
#initialize(pos:, desc:, val_defs:) ⇒ IndDef
Returns a new instance of IndDef.
18 19 20 21 22 23 24 |
# File 'lib/berkeley_library/marc/field_info/var_fields/ind_def.rb', line 18 def initialize(pos:, desc:, val_defs:) raise ArgumentError, "Not a valid indicator position: #{pos.inspect}" unless [1, 2].include?(pos) @pos = pos @desc = desc @val_defs = val_defs end |
Instance Attribute Details
#desc ⇒ Object (readonly)
Returns the value of attribute desc.
15 16 17 |
# File 'lib/berkeley_library/marc/field_info/var_fields/ind_def.rb', line 15 def desc @desc end |
#pos ⇒ Object (readonly)
Returns the value of attribute pos.
14 15 16 |
# File 'lib/berkeley_library/marc/field_info/var_fields/ind_def.rb', line 14 def pos @pos end |
#val_defs ⇒ Object (readonly)
Returns the value of attribute val_defs.
16 17 18 |
# File 'lib/berkeley_library/marc/field_info/var_fields/ind_def.rb', line 16 def val_defs @val_defs end |
Instance Method Details
#reject_obsoletes ⇒ Object
26 27 28 |
# File 'lib/berkeley_library/marc/field_info/var_fields/ind_def.rb', line 26 def reject_obsoletes IndDef.new(pos: pos, desc: desc, val_defs: _reject_obsolete(val_defs)) end |
#to_s ⇒ Object
30 31 32 33 34 |
# File 'lib/berkeley_library/marc/field_info/var_fields/ind_def.rb', line 30 def to_s lines = ["#{POS_NAMES[pos]} - #{desc}"] val_defs.each { |v| lines << " #{v}" } lines.join("\n") end |