Class: Hbci::Segment
- Inherits:
-
Object
- Object
- Hbci::Segment
- Extended by:
- Forwardable
- Defined in:
- lib/hbci/segment.rb
Direct Known Subclasses
Hbci::Segments::HIKAZSv6, Hbci::Segments::HIKAZSv7, Hbci::Segments::HIKAZv4, Hbci::Segments::HIKAZv5, Hbci::Segments::HIKAZv6, Hbci::Segments::HIKAZv7, Hbci::Segments::HIRMGv2, Hbci::Segments::HIRMSv2, Hbci::Segments::HISALSv4, Hbci::Segments::HISALSv7, Hbci::Segments::HISALv3, Hbci::Segments::HISALv4, Hbci::Segments::HISALv5, Hbci::Segments::HISALv6, Hbci::Segments::HISALv7, Hbci::Segments::HISYNv4, Hbci::Segments::HIUPAv4, Hbci::Segments::HIUPDv5, Hbci::Segments::HIUPDv6, Hbci::Segments::HKENDv1, Hbci::Segments::HKIDNv2, Hbci::Segments::HKKAZv6, Hbci::Segments::HKKAZv7, Hbci::Segments::HKSALv4, Hbci::Segments::HKSALv6, Hbci::Segments::HKSALv7, Hbci::Segments::HKSYNv3, Hbci::Segments::HKVVBv3, Hbci::Segments::HNHBKv3, Hbci::Segments::HNHBSv1, Hbci::Segments::HNSHAv2, Hbci::Segments::HNSHKv4, Hbci::Segments::HNVSDv1, Hbci::Segments::HNVSKv3, Hbci::Segments::Unknown
Instance Attribute Summary collapse
-
#defined_element_groups ⇒ Object
readonly
Returns the value of attribute defined_element_groups.
-
#dialog ⇒ Object
Returns the value of attribute dialog.
-
#element_groups ⇒ Object
readonly
Returns the value of attribute element_groups.
-
#message ⇒ Object
Returns the value of attribute message.
-
#request_message ⇒ Object
Returns the value of attribute request_message.
Class Method Summary collapse
- .element(name, definition = {}) ⇒ Object
- .element_group(name, definition = {}, &block) ⇒ Object
- .element_groups_to_be_defined ⇒ Object
- .fill(segment_data) ⇒ Object
Instance Method Summary collapse
- #build(message) ⇒ Object
- #compile ⇒ Object
-
#initialize ⇒ Segment
constructor
A new instance of Segment.
- #to_s ⇒ Object
Constructor Details
#initialize ⇒ Segment
Returns a new instance of Segment.
43 44 45 46 47 |
# File 'lib/hbci/segment.rb', line 43 def initialize @element_groups = [] @defined_element_groups ||= [] define_element_groups end |
Instance Attribute Details
#defined_element_groups ⇒ Object (readonly)
Returns the value of attribute defined_element_groups.
8 9 10 |
# File 'lib/hbci/segment.rb', line 8 def defined_element_groups @defined_element_groups end |
#dialog ⇒ Object
Returns the value of attribute dialog.
10 11 12 |
# File 'lib/hbci/segment.rb', line 10 def dialog @dialog end |
#element_groups ⇒ Object (readonly)
Returns the value of attribute element_groups.
7 8 9 |
# File 'lib/hbci/segment.rb', line 7 def element_groups @element_groups end |
#message ⇒ Object
Returns the value of attribute message.
9 10 11 |
# File 'lib/hbci/segment.rb', line 9 def end |
#request_message ⇒ Object
Returns the value of attribute request_message.
12 13 14 |
# File 'lib/hbci/segment.rb', line 12 def end |
Class Method Details
.element(name, definition = {}) ⇒ Object
22 23 24 |
# File 'lib/hbci/segment.rb', line 22 def self.element(name, definition = {}) element_groups_to_be_defined << definition.merge(name: name, block: nil, passthrough: true) end |
.element_group(name, definition = {}, &block) ⇒ Object
18 19 20 |
# File 'lib/hbci/segment.rb', line 18 def self.element_group(name, definition = {}, &block) element_groups_to_be_defined << definition.merge(name: name, block: block) end |
.element_groups_to_be_defined ⇒ Object
14 15 16 |
# File 'lib/hbci/segment.rb', line 14 def self.element_groups_to_be_defined @element_groups_to_be_defined ||= [] end |
.fill(segment_data) ⇒ Object
35 36 37 38 39 40 41 |
# File 'lib/hbci/segment.rb', line 35 def self.fill(segment_data) segment_data.each_with_object(new).with_index do |(element_group_data, segment), element_group_index| element_group_data.each_with_index do |element_data, element_index| segment.element_groups[element_group_index][element_index] = element_data end end end |
Instance Method Details
#build(message) ⇒ Object
26 27 28 29 30 31 32 33 |
# File 'lib/hbci/segment.rb', line 26 def build() self. = type, version = self.class.name.split('::').last.split('v') head.type = type head.version = version end |
#compile ⇒ Object
49 |
# File 'lib/hbci/segment.rb', line 49 def compile; end |
#to_s ⇒ Object
51 52 53 |
# File 'lib/hbci/segment.rb', line 51 def to_s element_groups.join('+').gsub(/\+*$/, '') << '\'' end |