Class: Hbci::Segment
- Inherits:
-
Object
show all
- 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
Class Method Summary
collapse
Instance Method Summary
collapse
Constructor Details
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
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
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 message
@message
end
|
#request_message ⇒ Object
Returns the value of attribute request_message.
12
13
14
|
# File 'lib/hbci/segment.rb', line 12
def request_message
@request_message
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(message)
self.request_message = message
type, version = self.class.name.split('::').last.split('v')
head.type = type
head.version = version
end
|
#compile ⇒ Object
49
50
|
# File 'lib/hbci/segment.rb', line 49
def compile
end
|
#to_s ⇒ Object
52
53
54
|
# File 'lib/hbci/segment.rb', line 52
def to_s
element_groups.join('+').gsub(/\+*$/, '') << '\''
end
|