sepa_king 0.7.0 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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