qbxml 0.1.5 → 0.1.6

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: b30a5517e325801201e3b9d49678ba3d12fcb8e1
4
+ data.tar.gz: db7995a615036b4d68c5a4fb44a7434a5b0ee2fc
5
+ SHA512:
6
+ metadata.gz: d284d96e68ca61521afde106ac42a0577a5e482e9f725c0d42c132a845c5cbdcd52d7ea0d2ee7fa5adf2aacdee3ea6399d01e24b3726bcab59d6898c627d0c5e
7
+ data.tar.gz: 0f636817dbb4b9934fa89a976a8549d5bf95d5cfcb183946ca3bdf9ae16f8db2f4aaf6dcdaee8367a42ae4159c1f68a90676a0194eb79fa9c3a7e8f22c86afb5
@@ -84,7 +84,7 @@ class Qbxml
84
84
 
85
85
  def validate_qbxml_hash(hash, path = [])
86
86
  hash.each do |k,v|
87
- next if k == Qbxml::HASH::ATTR_ROOT
87
+ next if k == Qbxml::Hash::ATTR_ROOT
88
88
  key_path = path.dup << k
89
89
  if v.is_a?(Hash)
90
90
  validate_qbxml_hash(v, key_path)
@@ -1,16 +1,17 @@
1
1
  module Qbxml::Types
2
2
 
3
- XML_DIRECTIVES = {
3
+ XML_DIRECTIVES = {
4
4
  :qb => [:qbxml, { version: '7.0' }],
5
5
  :qbpos => [:qbposxml, { version: '3.0' }]
6
6
  }.freeze
7
7
 
8
8
  FLOAT_CAST = Proc.new {|d| d ? Float(d) : 0.0}
9
- BOOL_CAST = Proc.new {|d| d ? (d == 'True' ? true : false) : false }
9
+ BOOL_CAST = Proc.new {|d| d ? (d.to_s.downcase == 'true' ? true : false) : false }
10
10
  DATE_CAST = Proc.new {|d| d ? Date.parse(d).strftime("%Y-%m-%d") : Date.today.strftime("%Y-%m-%d") }
11
11
  TIME_CAST = Proc.new {|d| d ? Time.parse(d).xmlschema : Time.now.xmlschema }
12
12
  INT_CAST = Proc.new {|d| d ? Integer(d.to_i) : 0 }
13
13
  STR_CAST = Proc.new {|d| d ? String(d) : ''}
14
+ BIGDECIMAL_CAST = Proc.new {|d| d ? BigDecimal.new(d) : 0.0}
14
15
 
15
16
  TYPE_MAP= {
16
17
  "AMTTYPE" => FLOAT_CAST,
@@ -24,7 +25,7 @@ module Qbxml::Types
24
25
  "INTTYPE" => INT_CAST,
25
26
  "PERCENTTYPE" => FLOAT_CAST,
26
27
  "PRICETYPE" => FLOAT_CAST,
27
- "QUANTYPE" => INT_CAST,
28
+ "QUANTYPE" => BIGDECIMAL_CAST,
28
29
  "STRTYPE" => STR_CAST,
29
30
  "TIMEINTERVALTYPE" => STR_CAST
30
31
  }
@@ -1,3 +1,3 @@
1
1
  class Qbxml
2
- VERSION = "0.1.5"
2
+ VERSION = "0.1.6"
3
3
  end
@@ -18,6 +18,6 @@ Gem::Specification.new do |gem|
18
18
  gem.require_paths = ["lib"]
19
19
 
20
20
  gem.add_dependency('activesupport', '>= 3.2.9')
21
- gem.add_dependency('nokogiri', '~> 1.5.0')
22
- gem.add_dependency('builder', '~> 3.0.0')
21
+ gem.add_dependency('nokogiri', '~> 1.5')
22
+ gem.add_dependency('builder', '~> 3.0')
23
23
  end
metadata CHANGED
@@ -1,64 +1,57 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: qbxml
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.5
5
- prerelease:
4
+ version: 0.1.6
6
5
  platform: ruby
7
6
  authors:
8
7
  - Alex Skryl
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2013-04-30 00:00:00.000000000 Z
11
+ date: 2014-11-09 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: activesupport
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
- - - ! '>='
17
+ - - ">="
20
18
  - !ruby/object:Gem::Version
21
19
  version: 3.2.9
22
20
  type: :runtime
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
- - - ! '>='
24
+ - - ">="
28
25
  - !ruby/object:Gem::Version
29
26
  version: 3.2.9
30
27
  - !ruby/object:Gem::Dependency
31
28
  name: nokogiri
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
- - - ~>
31
+ - - "~>"
36
32
  - !ruby/object:Gem::Version
37
- version: 1.5.0
33
+ version: '1.5'
38
34
  type: :runtime
39
35
  prerelease: false
40
36
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
37
  requirements:
43
- - - ~>
38
+ - - "~>"
44
39
  - !ruby/object:Gem::Version
45
- version: 1.5.0
40
+ version: '1.5'
46
41
  - !ruby/object:Gem::Dependency
47
42
  name: builder
48
43
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
44
  requirements:
51
- - - ~>
45
+ - - "~>"
52
46
  - !ruby/object:Gem::Version
53
- version: 3.0.0
47
+ version: '3.0'
54
48
  type: :runtime
55
49
  prerelease: false
56
50
  version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
51
  requirements:
59
- - - ~>
52
+ - - "~>"
60
53
  - !ruby/object:Gem::Version
61
- version: 3.0.0
54
+ version: '3.0'
62
55
  description: Quickbooks XML Parser
63
56
  email:
64
57
  - rut216@gmail.com
@@ -66,7 +59,7 @@ executables: []
66
59
  extensions: []
67
60
  extra_rdoc_files: []
68
61
  files:
69
- - .gitignore
62
+ - ".gitignore"
70
63
  - Gemfile
71
64
  - LICENSE.txt
72
65
  - README.md
@@ -103,27 +96,26 @@ files:
103
96
  - spec/support/responses/sales_receipt_add_rs.xml
104
97
  homepage: ''
105
98
  licenses: []
99
+ metadata: {}
106
100
  post_install_message:
107
101
  rdoc_options: []
108
102
  require_paths:
109
103
  - lib
110
104
  required_ruby_version: !ruby/object:Gem::Requirement
111
- none: false
112
105
  requirements:
113
- - - ! '>='
106
+ - - ">="
114
107
  - !ruby/object:Gem::Version
115
108
  version: '0'
116
109
  required_rubygems_version: !ruby/object:Gem::Requirement
117
- none: false
118
110
  requirements:
119
- - - ! '>='
111
+ - - ">="
120
112
  - !ruby/object:Gem::Version
121
113
  version: '0'
122
114
  requirements: []
123
115
  rubyforge_project:
124
- rubygems_version: 1.8.23
116
+ rubygems_version: 2.2.2
125
117
  signing_key:
126
- specification_version: 3
118
+ specification_version: 4
127
119
  summary: Quickbooks XML Parser and Validation Tool
128
120
  test_files:
129
121
  - spec/backwards_compatibility.rb
@@ -147,4 +139,3 @@ test_files:
147
139
  - spec/support/responses/purchase_order_query_rs.xml
148
140
  - spec/support/responses/receive_payment_query_rs.xml
149
141
  - spec/support/responses/sales_receipt_add_rs.xml
150
- has_rdoc: