qbwc_requests 0.1.01 → 0.1.02

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: 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