Class: CFONB::OperationDetails::Base
- Inherits:
-
Object
- Object
- CFONB::OperationDetails::Base
show all
- 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
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
|