Class: Ibanizator::Iban
- Inherits:
-
Object
- Object
- Ibanizator::Iban
- Includes:
- Adamantium
- Defined in:
- lib/ibanizator/iban.rb,
lib/ibanizator/iban/invalid.rb,
lib/ibanizator/iban/lengths.rb,
lib/ibanizator/iban/validator.rb,
lib/ibanizator/iban/extended_data.rb,
lib/ibanizator/iban/extended_data/de.rb
Defined Under Namespace
Modules: ExtendedData Classes: Invalid, Validator
Constant Summary collapse
- LENGTHS =
according to wikipedia (en.wikipedia.org/wiki/IBAN)
{ :AL => 28, :AD => 24, :AT => 20, :AZ => 28, :BH => 22, :BY => 28, :BE => 16, :BA => 20, :BR => 29, :BG => 22, :CR => 22, :HR => 21, :CY => 28, :CZ => 24, :DK => 18, :DO => 28, :TL => 23, :EG => 27, :EE => 20, :FO => 18, :FI => 18, :FR => 27, :GE => 22, :DE => 22, :GI => 23, :GR => 27, :GL => 18, :GT => 28, :HU => 28, :IS => 26, :IQ => 23, :IE => 22, :IL => 23, :IT => 27, :JO => 30, :KZ => 20, :XK => 20, :KW => 30, :LV => 21, :LB => 28, :LI => 21, :LT => 20, :LU => 20, :MK => 19, :MT => 31, :MR => 27, :MU => 30, :MC => 27, :MD => 24, :ME => 22, :NL => 18, :NO => 15, :PK => 24, :PS => 29, :PL => 28, :PT => 25, :QA => 29, :RO => 24, :LC => 32, :SM => 27, :SA => 24, :RS => 22, :SC => 31, :SK => 24, :SI => 19, :ES => 24, :SE => 24, :CH => 21, :TN => 24, :TR => 26, :UA => 29, :AE => 23, :GB => 22, :VA => 22, :VG => 24 }.freeze
Instance Attribute Summary collapse
-
#iban_string ⇒ Object
(also: #to_s)
readonly
Returns the value of attribute iban_string.
Class Method Summary collapse
Instance Method Summary collapse
- #country_code ⇒ Object
- #extended_data ⇒ Object
- #formatted_iban_string ⇒ Object
-
#initialize(an_iban) ⇒ Iban
constructor
A new instance of Iban.
- #valid? ⇒ Boolean
Constructor Details
#initialize(an_iban) ⇒ Iban
Returns a new instance of Iban.
16 17 18 |
# File 'lib/ibanizator/iban.rb', line 16 def initialize(an_iban) @iban_string = sanitize(an_iban) end |
Instance Attribute Details
#iban_string ⇒ Object (readonly) Also known as: to_s
Returns the value of attribute iban_string.
10 11 12 |
# File 'lib/ibanizator/iban.rb', line 10 def iban_string @iban_string end |
Class Method Details
.from_string(a_string) ⇒ Object
20 21 22 |
# File 'lib/ibanizator/iban.rb', line 20 def self.from_string(a_string) new(a_string) end |
Instance Method Details
#country_code ⇒ Object
24 25 26 27 |
# File 'lib/ibanizator/iban.rb', line 24 def country_code cc = iban_string[0..1].to_sym LENGTHS.keys.include?(cc) ? cc : :unknown end |
#extended_data ⇒ Object
30 31 32 33 34 |
# File 'lib/ibanizator/iban.rb', line 30 def extended_data if country_code == :DE ExtendedData::DE.new(self) end end |
#formatted_iban_string ⇒ Object
41 42 43 |
# File 'lib/ibanizator/iban.rb', line 41 def formatted_iban_string iban_string.scan(/.{1,4}/).join(' ') end |