Class: Ibanvalidator::Conversion
- Inherits:
-
Object
- Object
- Ibanvalidator::Conversion
- Defined in:
- lib/ibanvalidator/conversion.rb
Class Method Summary collapse
- .iban2local(country_code, bban, leading_zero = false) ⇒ Object
- .local2iban(country_code, data) ⇒ Object
Class Method Details
.iban2local(country_code, bban, leading_zero = false) ⇒ Object
25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
# File 'lib/ibanvalidator/conversion.rb', line 25 def self.iban2local(country_code, bban, leading_zero = false) config = load_config country_code local = {} config.map do |key, values| local[key.to_sym] = [values].flatten.map do |value| regexp = /^#{bban_format_to_regexp(value)}/ ret = bban.scan(regexp).first bban.sub! regexp, '' ret end.join('') #entefernen von führenden nullen local[key.to_sym].sub!(/^0+/, '') if !leading_zero local[key.to_sym] = '0' if local[key.to_sym] == '' end local end |
.local2iban(country_code, data) ⇒ Object
4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
# File 'lib/ibanvalidator/conversion.rb', line 4 def self.local2iban(country_code, data) config = load_config country_code bban = config.map do |key, values| d = data[key.to_sym].dup ret = [values].flatten.map do |value| l = bban_format_length(value) r = bban_format_to_format_string(value) % bban_format_cast(value, d[0..(l-1)]) d[0..(l-1)] = '' r end.join('') # "%05s" % "a" -> " a" and not "0000a" ret.gsub(/ /, '0') end.join('') check_digits = "%02d" % checksum(country_code, bban) IBAN.new "#{country_code}#{check_digits}#{bban}" end |