class Hbci::Message

Attributes

connector[R]
dialog[R]
next_position[RW]
sec_ref[R]
segments[R]

Public Class Methods

new(connector, dialog = nil) click to toggle source
# File lib/hbci/message.rb, line 8
def initialize(connector, dialog = nil)
  @connector = connector
  @dialog = dialog
  @sec_ref = generate_security_reference
  @segments = []
  @next_position = 1
end

Public Instance Methods

add_segment(segment) click to toggle source
# File lib/hbci/message.rb, line 16
def add_segment(segment)
  segment.build(self)
  @segments.push(segment)
end
compile() click to toggle source
# File lib/hbci/message.rb, line 21
def compile
  @segments.each_with_index do |segment, _index|
    segment.compile
    unless segment.head.position
      segment.head.position = @next_position
      @next_position += 1
    end
  end
  @segments.each do |segment|
    segment.after_compile if segment.respond_to?(:after_compile)
  end
end
to_base64() click to toggle source
# File lib/hbci/message.rb, line 38
def to_base64
  Base64.encode64(to_s)
end
to_s() click to toggle source
# File lib/hbci/message.rb, line 34
def to_s
  segments.join('')
end

Private Instance Methods

generate_security_reference() click to toggle source
# File lib/hbci/message.rb, line 44
def generate_security_reference
  rand(1..23) * 999_999 + 1_000_000
end