qbwc_requests 0.1.01 → 0.1.02

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: 263022899abcdb89c5e828e71307efb086b8a953
4
- data.tar.gz: 132ff2c1c2465c38e1c7aadb3f29bc7ece9779ca
3
+ metadata.gz: 9a3cae709f8032807cdca10ef5c1e786d52a87cf
4
+ data.tar.gz: 7ef0bcc248bdc8d307a706910dfc69e2ccbde575
5
5
  SHA512:
6
- metadata.gz: 0990f1cc4ddaf7ba4e86135f9fd1ba5da855a39cef1cf334a82db5e7f64297d782dc3a671ed21e8b03dcb94cf54fa60c98c7ea2354658fc8547cecd499502693
7
- data.tar.gz: 9dd0163235f18c77226801d56105b96f04073f7580271c0a323e6c9e64e271e048f090ea40feaa59bd15bc7a0425362942c7fe186b64901c75318f19aeb6e6af
6
+ metadata.gz: f5432213508fdb31a8e3a37b6ebd7243823d42c7c17fac12085d1c5542f7f251fc7e5fe9ec8c8e7d41d1c71dbcf00ae3d38e2be3b033a1e7dc1a0828298b51a1
7
+ data.tar.gz: ad7f17f3a7066f60aa54da235ac2bb277fa3f3800dcf4d6eb1d72d608ace68cee334b6d27c473728b0534d89eaf5b77c5e7fbee5567b60e2722b5dc3e07815a5
@@ -19,7 +19,7 @@ module Qbwc
19
19
  def initialize(attributes = {})
20
20
  @attributes = compact(attributes)
21
21
  @attributes.each do |name, value|
22
- self.instance_variable_set("@#{name}", value)
22
+ self.instance_variable_set("@#{name}", value) if value.present?
23
23
  end
24
24
  end
25
25
 
@@ -44,9 +44,9 @@ module Qbwc
44
44
  def compact opts={}
45
45
  # I pass two times to avoid {v: '1',k: {}}, gotta find a better algorithm (recursive)
46
46
  return {} if opts.nil?
47
- proc = Proc.new { |k, v| v.kind_of?(Hash) ? (v.delete_if(&proc); nil) : v.empty? };
47
+ proc = Proc.new { |k, v| v.kind_of?(Hash) ? (v.delete_if(&proc); nil) : (v == nil || v.empty?) };
48
48
  hash = opts.delete_if(&proc)
49
- hash.delete_if { |k, v| v.empty? }
49
+ hash.delete_if { |k, v| (v == nil || v.empty?) }
50
50
  end
51
51
 
52
52
  def add_xml
@@ -1,3 +1,3 @@
1
1
  module QbwcRequests
2
- VERSION = "0.1.01"
2
+ VERSION = "0.1.02"
3
3
  end
@@ -1,7 +1,10 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  class GenericBase < Qbwc::Request::Base
4
-
4
+ field :vendor_ref
5
+ field :ref_number
6
+ field :memo
7
+ field :purchase_order_line_add
5
8
  end
6
9
 
7
10
  describe GenericBase do
@@ -16,4 +19,43 @@ describe GenericBase do
16
19
 
17
20
  end
18
21
 
22
+
23
+ describe '#add' do
24
+
25
+ let(:parameters) {
26
+ {
27
+ :vendor_ref => {
28
+ :list_ID => nil
29
+ },
30
+ :ref_number => nil,
31
+ :memo => nil,
32
+ :purchase_order_line_add => []
33
+ }
34
+ }
35
+
36
+ it 'should not raise error for nil values' do
37
+ expect {
38
+ GenericBase.new(parameters).add()
39
+ }.to_not raise_error
40
+ end
41
+
42
+ it 'should generate a xml with just the filled fields' do
43
+
44
+ expected_xml = <<-XML
45
+ <?xml version='1.0' encoding='utf-8'?>
46
+ <?qbxml version="7.0"?>
47
+ <QBXML>
48
+ <QBXMLMsgsRq onError="stopOnError">
49
+ <GenericBaseAddRq requestID="2">
50
+ <GenericBaseAdd></GenericBaseAdd>
51
+ </GenericBaseAddRq>
52
+ </QBXMLMsgsRq>
53
+ </QBXML>
54
+ XML
55
+ add_xml = GenericBase.new(parameters).add()
56
+ expect( add_xml ).to be_xml_equal_to expected_xml
57
+ end
58
+
59
+ end
60
+
19
61
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: qbwc_requests
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.01
4
+ version: 0.1.02
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alexandre Mondaini Calvão
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-06-24 00:00:00.000000000 Z
11
+ date: 2015-06-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: qbxml