Class: SwissQRBill::QRBill::Address

Inherits:
Object
  • Object
show all
Defined in:
lib/swiss_qr_bill/qr_bill.rb

Class Method Summary collapse

Class Method Details

.new(*data) ⇒ Object



29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
# File 'lib/swiss_qr_bill/qr_bill.rb', line 29

def self.new(*data)
  case data[0]
  when "K"
    CombinedAddress.new(
      type: data[0],
      name: data[1],
      line1: data[2],
      line2: data[3],
      country: data[6]
    )
  when "S"
    StructuredAddress.new(*data)
  else
    raise %(Unknown Address type: "#{data[0]}") unless data.map(&:empty?).reduce(:&)

    StructuredAddress.new(*data)
  end
end