sepa_king 0.7.0 → 0.8.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: c07809500fdf4e08660e27eef792b69530285d64
4
- data.tar.gz: c54f6fa344d87892a6642e3ef2dd3e140b643eb5
3
+ metadata.gz: a55e01a727d2ad4cb40cc2f284f1e77149781359
4
+ data.tar.gz: f8a2b539e05d97d6630a260b91362c7ecc7fb2b9
5
5
  SHA512:
6
- metadata.gz: 4fbe19893a4147654d7f65a04f57caf74c85876cc547173157e427c36d92e919c7b10bd48e12fb3fcce03ff78e4fbf16f234b2d78983753edad209885f71f784
7
- data.tar.gz: 90ad61a32ef0c8f1e0b6e3a190a448b54c4fb5f90ea30d81e6c0775d0df18ad03123d5964faf319b787f6a70c2f7e77736e813f990186d42d0c89f4f50f48010
6
+ metadata.gz: 50a4b696964158725ee468d65a00839bb37d0e7d2939bccb17d0ccb25e24ad14b2160ec7acb22c1ba045e0047f6a5866bf96602e3b26406436b2120bb6c11639
7
+ data.tar.gz: c78387d1c6fd870f045b1ae37eb8b3d7a1aae21ec68604e00b00c75b0ad8cc584a55872534890e525d2d1e37183fc0d7bf27818def85ea7d8fc6f7fe0688eba4
data/README.md CHANGED
@@ -16,7 +16,7 @@ This gem implements the following two messages out of the ISO 20022 standard:
16
16
  * Credit Transfer Initiation (`pain.001.003.03`, `pain.001.002.03` and `pain.001.001.03`)
17
17
  * Direct Debit Initiation (`pain.008.003.02`, `pain.008.002.02` and `pain.008.001.02`)
18
18
 
19
- This means it handles the "Specification of Data Formats" in version 2.6 (2012-11-17) and version 2.7 (2013-11-04)
19
+ It handles the _Specification of Data Formats_ v2.7 (2013-11-04).
20
20
 
21
21
  BTW: **pain** is a shortcut for **Pa**yment **In**itiation.
22
22
 
@@ -2,4 +2,4 @@ source 'https://rubygems.org'
2
2
 
3
3
  gemspec path: '..'
4
4
 
5
- gem 'activemodel', '5.0.0.rc1'
5
+ gem 'activemodel', '~> 5.0.0'
@@ -20,20 +20,16 @@ module SEPA
20
20
 
21
21
  value.to_s.
22
22
  # Replace some special characters described as "Best practices" in Chapter 6.2 of this document:
23
- # http://www.europeanpaymentscouncil.eu/index.cfm/knowledge-bank/epc-documents/sepa-requirements-for-an-extended-character-set-unicode-subset-best-practices/epc217-08-best-practices-sepa-requirements-for-character-set-ssgpdf/
23
+ # http://www.europeanpaymentscouncil.eu/index.cfm/knowledge-bank/epc-documents/sepa-requirements-for-an-extended-character-set-unicode-subset-best-practices/
24
24
  gsub('€','E').
25
25
  gsub('@','(at)').
26
- gsub('&', '+').
27
26
  gsub('_','-').
28
27
 
29
- # Replace non-ASCII characters with an ASCII approximation
30
- i18n_transliterate.
31
-
32
28
  # Replace linebreaks by spaces
33
29
  gsub(/\n+/,' ').
34
30
 
35
31
  # Remove all invalid characters
36
- gsub(/[^a-zA-Z0-9\ \'\:\?\,\-\(\+\.\)\/]/, '').
32
+ gsub(/[^a-zA-Z0-9ÄÖÜäöüß&*$%\ \'\:\?\,\-\(\+\.\)\/]/, '').
37
33
 
38
34
  # Remove leading and trailing spaces
39
35
  strip
@@ -1,3 +1,3 @@
1
1
  module SEPA
2
- VERSION = '0.7.0'
2
+ VERSION = '0.8.0'
3
3
  end
data/lib/sepa_king.rb CHANGED
@@ -1,11 +1,8 @@
1
- require 'i18n'
2
1
  require 'active_model'
3
2
  require 'bigdecimal'
4
3
  require 'builder'
5
4
  require 'iban-tools'
6
5
 
7
- require 'sepa_king/core_ext/string'
8
-
9
6
  require 'sepa_king/converter'
10
7
  require 'sepa_king/validator'
11
8
  require 'sepa_king/account'
data/sepa_king.gemspec CHANGED
@@ -21,14 +21,13 @@ Gem::Specification.new do |s|
21
21
  s.required_ruby_version = '>= 1.9.3'
22
22
 
23
23
  s.add_runtime_dependency 'activemodel', '>= 3.0.0'
24
- s.add_runtime_dependency 'i18n'
25
24
  s.add_runtime_dependency 'builder'
26
25
  s.add_runtime_dependency 'iban-tools'
27
26
 
28
27
  s.add_development_dependency 'bundler'
29
- s.add_development_dependency 'rspec', '~> 3.0'
28
+ s.add_development_dependency 'rspec'
30
29
  s.add_development_dependency 'coveralls'
31
- s.add_development_dependency 'simplecov', '~> 0.11.0'
30
+ s.add_development_dependency 'simplecov', '~> 0.11.2'
32
31
  s.add_development_dependency 'rake'
33
32
  s.add_development_dependency 'nokogiri'
34
33
  end
@@ -6,14 +6,14 @@ describe SEPA::Converter do
6
6
 
7
7
  describe :convert_text do
8
8
  it 'should convert special chars' do
9
- expect(convert_text('GmbH & Co. KG')).to eq('GmbH + Co. KG')
10
9
  expect(convert_text('10€')).to eq('10E')
11
10
  expect(convert_text('info@bundesbank.de')).to eq('info(at)bundesbank.de')
12
11
  expect(convert_text('abc_def')).to eq('abc-def')
13
12
  end
14
13
 
15
- it 'should convert umlaute' do
16
- expect(convert_text('üöäÜÖÄß')).to eq('uoaUOAss')
14
+ it 'should not change allowed special character' do
15
+ expect(convert_text('üöäÜÖÄß')).to eq('üöäÜÖÄß')
16
+ expect(convert_text('&*$%')).to eq('&*$%')
17
17
  end
18
18
 
19
19
  it 'should convert line breaks' do
@@ -198,7 +198,7 @@ describe SEPA::DirectDebit do
198
198
  end
199
199
 
200
200
  it 'should contain <Cdtr>' do
201
- expect(subject).to have_xml('//Document/CstmrDrctDbtInitn/PmtInf/Cdtr/Nm', 'Glaubiger GmbH')
201
+ expect(subject).to have_xml('//Document/CstmrDrctDbtInitn/PmtInf/Cdtr/Nm', 'Gläubiger GmbH')
202
202
  end
203
203
 
204
204
  it 'should contain <CdtrAcct>' do
@@ -239,8 +239,8 @@ describe SEPA::DirectDebit do
239
239
  end
240
240
 
241
241
  it 'should contain <Dbtr>' do
242
- expect(subject).to have_xml('//Document/CstmrDrctDbtInitn/PmtInf/DrctDbtTxInf[1]/Dbtr/Nm', 'Zahlemann + Sohne GbR')
243
- expect(subject).to have_xml('//Document/CstmrDrctDbtInitn/PmtInf/DrctDbtTxInf[2]/Dbtr/Nm', 'Meier + Schulze oHG')
242
+ expect(subject).to have_xml('//Document/CstmrDrctDbtInitn/PmtInf/DrctDbtTxInf[1]/Dbtr/Nm', 'Zahlemann & Söhne GbR')
243
+ expect(subject).to have_xml('//Document/CstmrDrctDbtInitn/PmtInf/DrctDbtTxInf[2]/Dbtr/Nm', 'Meier & Schulze oHG')
244
244
  end
245
245
 
246
246
  it 'should contain <DbtrAcct>' do
@@ -250,7 +250,7 @@ describe SEPA::DirectDebit do
250
250
 
251
251
  it 'should contain <RmtInf>' do
252
252
  expect(subject).to have_xml('//Document/CstmrDrctDbtInitn/PmtInf/DrctDbtTxInf[1]/RmtInf/Ustrd', 'Unsere Rechnung vom 10.08.2013')
253
- expect(subject).to have_xml('//Document/CstmrDrctDbtInitn/PmtInf/DrctDbtTxInf[2]/RmtInf/Ustrd', 'Vielen Dank fur Ihren Einkauf')
253
+ expect(subject).to have_xml('//Document/CstmrDrctDbtInitn/PmtInf/DrctDbtTxInf[2]/RmtInf/Ustrd', 'Vielen Dank für Ihren Einkauf')
254
254
  end
255
255
  end
256
256
 
@@ -387,7 +387,7 @@ describe SEPA::DirectDebit do
387
387
  end
388
388
 
389
389
  it 'should contain two payment_informations with <Cdtr>' do
390
- expect(subject).to have_xml('//Document/CstmrDrctDbtInitn/PmtInf[1]/Cdtr/Nm', 'Glaubiger GmbH')
390
+ expect(subject).to have_xml('//Document/CstmrDrctDbtInitn/PmtInf[1]/Cdtr/Nm', 'Gläubiger GmbH')
391
391
  expect(subject).to have_xml('//Document/CstmrDrctDbtInitn/PmtInf[2]/Cdtr/Nm', 'Creditor Inc.')
392
392
  end
393
393
  end
data/spec/spec_helper.rb CHANGED
@@ -16,10 +16,6 @@ end
16
16
 
17
17
  require 'sepa_king'
18
18
 
19
- if I18n.respond_to?(:enforce_available_locales=)
20
- I18n.enforce_available_locales = false
21
- end
22
-
23
19
  # Requires supporting ruby files with custom matchers and macros, etc,
24
20
  # in spec/support/ and its subdirectories.
25
21
  Dir[File.expand_path(File.join(File.dirname(__FILE__),'support','**','*.rb'))].each {|f| require f}
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sepa_king
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.0
4
+ version: 0.8.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Georg Leciejewski
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2016-05-28 00:00:00.000000000 Z
12
+ date: 2016-07-12 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activemodel
@@ -25,20 +25,6 @@ dependencies:
25
25
  - - ">="
26
26
  - !ruby/object:Gem::Version
27
27
  version: 3.0.0
28
- - !ruby/object:Gem::Dependency
29
- name: i18n
30
- requirement: !ruby/object:Gem::Requirement
31
- requirements:
32
- - - ">="
33
- - !ruby/object:Gem::Version
34
- version: '0'
35
- type: :runtime
36
- prerelease: false
37
- version_requirements: !ruby/object:Gem::Requirement
38
- requirements:
39
- - - ">="
40
- - !ruby/object:Gem::Version
41
- version: '0'
42
28
  - !ruby/object:Gem::Dependency
43
29
  name: builder
44
30
  requirement: !ruby/object:Gem::Requirement
@@ -85,16 +71,16 @@ dependencies:
85
71
  name: rspec
86
72
  requirement: !ruby/object:Gem::Requirement
87
73
  requirements:
88
- - - "~>"
74
+ - - ">="
89
75
  - !ruby/object:Gem::Version
90
- version: '3.0'
76
+ version: '0'
91
77
  type: :development
92
78
  prerelease: false
93
79
  version_requirements: !ruby/object:Gem::Requirement
94
80
  requirements:
95
- - - "~>"
81
+ - - ">="
96
82
  - !ruby/object:Gem::Version
97
- version: '3.0'
83
+ version: '0'
98
84
  - !ruby/object:Gem::Dependency
99
85
  name: coveralls
100
86
  requirement: !ruby/object:Gem::Requirement
@@ -115,14 +101,14 @@ dependencies:
115
101
  requirements:
116
102
  - - "~>"
117
103
  - !ruby/object:Gem::Version
118
- version: 0.11.0
104
+ version: 0.11.2
119
105
  type: :development
120
106
  prerelease: false
121
107
  version_requirements: !ruby/object:Gem::Requirement
122
108
  requirements:
123
109
  - - "~>"
124
110
  - !ruby/object:Gem::Version
125
- version: 0.11.0
111
+ version: 0.11.2
126
112
  - !ruby/object:Gem::Dependency
127
113
  name: rake
128
114
  requirement: !ruby/object:Gem::Requirement
@@ -185,7 +171,6 @@ files:
185
171
  - lib/sepa_king/account/creditor_account.rb
186
172
  - lib/sepa_king/account/debtor_account.rb
187
173
  - lib/sepa_king/converter.rb
188
- - lib/sepa_king/core_ext/string.rb
189
174
  - lib/sepa_king/message.rb
190
175
  - lib/sepa_king/message/credit_transfer.rb
191
176
  - lib/sepa_king/message/direct_debit.rb
@@ -197,7 +182,6 @@ files:
197
182
  - sepa_king.gemspec
198
183
  - spec/account_spec.rb
199
184
  - spec/converter_spec.rb
200
- - spec/core_ext/string_spec.rb
201
185
  - spec/credit_transfer_spec.rb
202
186
  - spec/credit_transfer_transaction_spec.rb
203
187
  - spec/creditor_account_spec.rb
@@ -238,14 +222,13 @@ required_rubygems_version: !ruby/object:Gem::Requirement
238
222
  version: '0'
239
223
  requirements: []
240
224
  rubyforge_project:
241
- rubygems_version: 2.6.4
225
+ rubygems_version: 2.6.6
242
226
  signing_key:
243
227
  specification_version: 4
244
228
  summary: Ruby gem for creating SEPA XML files
245
229
  test_files:
246
230
  - spec/account_spec.rb
247
231
  - spec/converter_spec.rb
248
- - spec/core_ext/string_spec.rb
249
232
  - spec/credit_transfer_spec.rb
250
233
  - spec/credit_transfer_transaction_spec.rb
251
234
  - spec/creditor_account_spec.rb
@@ -1,27 +0,0 @@
1
- # encoding: utf-8
2
-
3
- # Extend String class to use I18n.transliterate as an instance method
4
- #
5
- # To have a better ASCII approximation for some languages, it's strongly
6
- # recommended to add custom rules in your I18n dictionary like this
7
- # example for Germany:
8
- #
9
- # de:
10
- # i18n:
11
- # transliterate:
12
- # rule:
13
- # Ä: 'Ae'
14
- # Ö: 'Oe'
15
- # Ü: 'Ue'
16
- # ä: 'ae'
17
- # ö: 'oe'
18
- # ü: 'ue'
19
- # ß: 'ss'
20
- #
21
- # Because this stuff is out of scope of this gem, we don't include the rules here
22
-
23
- String.class_eval do
24
- def i18n_transliterate(replacement='?')
25
- I18n.transliterate(self, replacement)
26
- end
27
- end
@@ -1,11 +0,0 @@
1
- # encoding: utf-8
2
- require 'spec_helper'
3
-
4
- describe String do
5
- describe :i18n_transliterate do
6
- it 'should use I18n.transliterate' do
7
- expect('Ærøskøbing'.i18n_transliterate).to eq('AEroskobing')
8
- expect('Jürgen'.i18n_transliterate).to eq('Jurgen')
9
- end
10
- end
11
- end