sepa 0.0.18.1 → 0.0.18.2

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: 66a897ba3be8da790054ae7e8e3486d989092ffc
4
- data.tar.gz: 1da0321274827f0069538136dc92aa219bb4c046
3
+ metadata.gz: ab9664447c049ccc5d9bee8208adedeaf835127a
4
+ data.tar.gz: 2458d3d8e38a35ac4e06fd6d84cbb3b6b8f3fdbd
5
5
  SHA512:
6
- metadata.gz: 7801d300bb5447344727d6c6b6402015bffc6e49f03452f43da2cf81cfb592762e1b3e8e04eddf4dccf41e2f38b4b3fcad26cefce4838b02815ae4aa43465c3d
7
- data.tar.gz: 26cd127d05963b39714e8bded55d3a782faeb0a570ff05c6ff06d19e8e5c8053b79933b93324506c35adba7873e5ed09e5cb5b4dccef2c7bb095010a632b40fa
6
+ metadata.gz: c767a5457b79d39ed6d7ca038cb4ae97cefd6593ca20e999c71fca5ae7059f04fd34786e0a4b486d2816c67100ddfa04dff8457859063da0935e66aa61099419
7
+ data.tar.gz: 4415b51f8c5bd33c997218e2bd8ffee8718546117f02d75e62095ced989d1b56a1865a3c69dcc3b3a53ebd9bb69c3eb01ab1d9069c4ea285beb8214fec20b55a
data/lib/sepa/base.rb CHANGED
@@ -7,6 +7,10 @@ module Sepa
7
7
  self.string = constrain s
8
8
  end
9
9
 
10
+ def empty?
11
+ (self.string == nil) || (self.string == '')
12
+ end
13
+
10
14
  def to_s
11
15
  self.string
12
16
  end
@@ -58,12 +62,16 @@ module Sepa
58
62
  (type_def == :string) || (type_def.is_a?(Class) && type_def < StringWithConstraint)
59
63
  end
60
64
 
65
+ def empty_item? item
66
+ item == nil || (item.respond_to?(:empty?) && item.empty?)
67
+ end
68
+
61
69
  def to_xml builder
62
70
  self.class.attribute_defs.each do |name, meta|
63
71
  item = self.send(name)
64
72
  options = meta[:options] || { }
65
73
  attributes = build_xml_attributes options[:attributes]
66
- next if item == nil || (item.is_a?(Sepa::Base) && item.empty?)
74
+ next if empty_item? item
67
75
  if string_type?(meta[:type])
68
76
  builder.__send__(meta[:tag], normalize(item), attributes)
69
77
  elsif meta[:type] == :[]
data/lib/sepa/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Sepa
2
- VERSION = "0.0.18.1"
2
+ VERSION = "0.0.18.2"
3
3
  end
@@ -0,0 +1,18 @@
1
+ # -*- coding: utf-8 -*-
2
+
3
+ require 'spec_helper'
4
+
5
+ describe Sepa::PaymentsInitiation::ContactDetails do
6
+ it "should be empty by default" do
7
+ Sepa::PaymentsInitiation::ContactDetails.new({ }).should be_empty
8
+ end
9
+
10
+ it "should not generate an empty 'Nm' tag" do
11
+ contact_details = Sepa::PaymentsInitiation::ContactDetails.new({ :phone_number => "12345" })
12
+ builder = Builder::XmlMarkup.new(:indent => 2)
13
+ xml = builder.Document() {
14
+ contact_details.to_xml builder
15
+ }
16
+ expect(xml).to eq "<Document>\n <PhneNb>12345</PhneNb>\n</Document>\n"
17
+ end
18
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sepa
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.18.1
4
+ version: 0.0.18.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Conan Dalton
@@ -148,6 +148,7 @@ files:
148
148
  - spec/sepa/expected_customer_direct_debit_initiation_v02_with_remittance_information.xml
149
149
  - spec/sepa/expected_customer_direct_debit_initiation_v04.xml
150
150
  - spec/sepa/expected_customer_direct_debit_initiation_v04_with_org_id.xml
151
+ - spec/sepa/payments_initiation/contact_details_spec.rb
151
152
  - spec/sepa/payments_initiation/financial_identification_scheme_name_1_choice_spec.rb
152
153
  - spec/sepa/payments_initiation/generic_financial_identification_1_spec.rb
153
154
  - spec/sepa/payments_initiation/pain00800104/customer_direct_debit_initiation_spec.rb
@@ -186,6 +187,7 @@ test_files:
186
187
  - spec/sepa/expected_customer_direct_debit_initiation_v02_with_remittance_information.xml
187
188
  - spec/sepa/expected_customer_direct_debit_initiation_v04.xml
188
189
  - spec/sepa/expected_customer_direct_debit_initiation_v04_with_org_id.xml
190
+ - spec/sepa/payments_initiation/contact_details_spec.rb
189
191
  - spec/sepa/payments_initiation/financial_identification_scheme_name_1_choice_spec.rb
190
192
  - spec/sepa/payments_initiation/generic_financial_identification_1_spec.rb
191
193
  - spec/sepa/payments_initiation/pain00800104/customer_direct_debit_initiation_spec.rb