Class: CFONB::OperationDetails::Base
- Inherits:
-
Object
- Object
- CFONB::OperationDetails::Base
- Defined in:
- lib/cfonb/operation_details/base.rb
Direct Known Subclasses
FEE, IBE, IPY, LC2, LCC, LCS, LIB, MMO, NBE, NBU, NPO, NPY, RCN, REF, Unknown
Class Method Summary collapse
Class Method Details
.inherited(base) ⇒ Object
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
# File 'lib/cfonb/operation_details/base.rb', line 6 def self.inherited(base) base.singleton_class.prepend( Module.new do def apply(details, line) code = :"@#{line.detail_code.gsub(' ', '_')}" details.instance_variable_set(code, instance_value(details, line, code)) super end private def append_detail?(details, line, code) details.instance_variable_defined?(code) && line.detail.is_a?(String) end def instance_value(details, line, code) return line.detail unless append_detail?(details, line, code) details.instance_variable_get(code) + "\n#{line.detail}" end end, ) end |