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
Overview
An indicator definition.
Constant Summary collapse
- POS_NAMES =
Human-readable position 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
see Object#to_s.
Methods included from Obsolescible
#_reject_obsolete, #empty?, #obsolete?
Constructor Details
#initialize(pos:, desc:, val_defs:) ⇒ IndDef
Returns a new instance of IndDef.
20 21 22 23 24 25 26 |
# File 'lib/berkeley_library/marc/field_info/var_fields/ind_def.rb', line 20 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.
17 18 19 |
# File 'lib/berkeley_library/marc/field_info/var_fields/ind_def.rb', line 17 def desc @desc end |
#pos ⇒ Object (readonly)
Returns the value of attribute pos.
16 17 18 |
# File 'lib/berkeley_library/marc/field_info/var_fields/ind_def.rb', line 16 def pos @pos end |
#val_defs ⇒ Object (readonly)
Returns the value of attribute val_defs.
18 19 20 |
# File 'lib/berkeley_library/marc/field_info/var_fields/ind_def.rb', line 18 def val_defs @val_defs end |
Instance Method Details
#reject_obsoletes ⇒ Object
29 30 31 |
# File 'lib/berkeley_library/marc/field_info/var_fields/ind_def.rb', line 29 def reject_obsoletes IndDef.new(pos: pos, desc: desc, val_defs: _reject_obsolete(val_defs)) end |
#to_s ⇒ Object
see Object#to_s
34 35 36 37 38 |
# File 'lib/berkeley_library/marc/field_info/var_fields/ind_def.rb', line 34 def to_s lines = ["#{POS_NAMES[pos]} - #{desc}"] val_defs.each { |v| lines << " #{v}" } lines.join("\n") end |