Class: SEPA::Address

Inherits:
Object
  • Object
show all
Extended by:
Converter
Includes:
ActiveModel::Model
Defined in:
lib/sepa_rator/account/address.rb

Direct Known Subclasses

CreditorAddress, DebtorAddress

Constant Summary collapse

STRUCTURED_FIELDS =
%i[street_name building_number post_code town_name].freeze

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Converter

convert

Instance Attribute Details

#address_line1Object

PostalAddress6 fields (all schemas)



9
10
11
# File 'lib/sepa_rator/account/address.rb', line 9

def address_line1
  @address_line1
end

#address_line2Object

PostalAddress6 fields (all schemas)



9
10
11
# File 'lib/sepa_rator/account/address.rb', line 9

def address_line2
  @address_line2
end

#building_nameObject

PostalAddress6 fields (all schemas)



9
10
11
# File 'lib/sepa_rator/account/address.rb', line 9

def building_name
  @building_name
end

#building_numberObject

PostalAddress6 fields (all schemas)



9
10
11
# File 'lib/sepa_rator/account/address.rb', line 9

def building_number
  @building_number
end

#care_ofObject

PostalAddress6 fields (all schemas)



9
10
11
# File 'lib/sepa_rator/account/address.rb', line 9

def care_of
  @care_of
end

#country_codeObject

PostalAddress6 fields (all schemas)



9
10
11
# File 'lib/sepa_rator/account/address.rb', line 9

def country_code
  @country_code
end

#country_sub_divisionObject

PostalAddress6 fields (all schemas)



9
10
11
# File 'lib/sepa_rator/account/address.rb', line 9

def country_sub_division
  @country_sub_division
end

#departmentObject

PostalAddress6 fields (all schemas)



9
10
11
# File 'lib/sepa_rator/account/address.rb', line 9

def department
  @department
end

#district_nameObject

PostalAddress6 fields (all schemas)



9
10
11
# File 'lib/sepa_rator/account/address.rb', line 9

def district_name
  @district_name
end

#floorObject

PostalAddress6 fields (all schemas)



9
10
11
# File 'lib/sepa_rator/account/address.rb', line 9

def floor
  @floor
end

#post_boxObject

PostalAddress6 fields (all schemas)



9
10
11
# File 'lib/sepa_rator/account/address.rb', line 9

def post_box
  @post_box
end

#post_codeObject

PostalAddress6 fields (all schemas)



9
10
11
# File 'lib/sepa_rator/account/address.rb', line 9

def post_code
  @post_code
end

#roomObject

PostalAddress6 fields (all schemas)



9
10
11
# File 'lib/sepa_rator/account/address.rb', line 9

def room
  @room
end

#street_nameObject

PostalAddress6 fields (all schemas)



9
10
11
# File 'lib/sepa_rator/account/address.rb', line 9

def street_name
  @street_name
end

#sub_departmentObject

PostalAddress6 fields (all schemas)



9
10
11
# File 'lib/sepa_rator/account/address.rb', line 9

def sub_department
  @sub_department
end

#town_location_nameObject

PostalAddress6 fields (all schemas)



9
10
11
# File 'lib/sepa_rator/account/address.rb', line 9

def town_location_name
  @town_location_name
end

#town_nameObject

PostalAddress6 fields (all schemas)



9
10
11
# File 'lib/sepa_rator/account/address.rb', line 9

def town_name
  @town_name
end

#unit_numberObject

PostalAddress6 fields (all schemas)



9
10
11
# File 'lib/sepa_rator/account/address.rb', line 9

def unit_number
  @unit_number
end

Instance Method Details

#structured?Boolean

Strict check: at least one structured field AND no AdrLine leak.

Returns:

  • (Boolean)


73
74
75
# File 'lib/sepa_rator/account/address.rb', line 73

def structured?
  STRUCTURED_FIELDS.any? { |field| public_send(field) } && !uses_address_lines?
end

#uses_address_lines?Boolean

Returns:

  • (Boolean)


77
78
79
# File 'lib/sepa_rator/account/address.rb', line 77

def uses_address_lines?
  !address_line1.nil? || !address_line2.nil?
end