carousel-ruby-api 0.0.1 → 0.0.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,15 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 9ea03c1d2f3784982a657f21471e6ad591f34dc9
4
- data.tar.gz: 3434dcc47b424e2a7058cee5abb74f0b099ec0d2
2
+ !binary "U0hBMQ==":
3
+ metadata.gz: !binary |-
4
+ OTI0ZWU1ZWU0NjFjY2QxOTkwN2RhMWM0ODUxMGM5NTY0ZWUyNjVlZA==
5
+ data.tar.gz: !binary |-
6
+ ZDUzOTJhODViOTUzZDE3MzhhY2FkMmQzMWQ1NjA2MDQ2MmFmOGY4YQ==
5
7
  SHA512:
6
- metadata.gz: 73c45e3e3644978a9dcaf03e336d2796c87cb09182171af087ed98977640d63858bf944b779870d4a665c4b9bf706d324fb3bc237ca31421b23d0efe091a2344
7
- data.tar.gz: 51b60c69a795adee15dc13baad5d5fa8b876c4140baa6a246a4b9af4d58d3c3668fc006fe8f695f8766585e3ac6f7d7fdb494538fd54ca46cbb5b7c300629e79
8
+ metadata.gz: !binary |-
9
+ M2ZkOGYwYWFjMGRiOTYyOGFmZDRhZWNlN2M0Yjg1YmVhNzFhOWMxN2RlMjdm
10
+ MDRjOTdiYmE0ODliYzY4NDhkNjMwMWUyNzM4ZmRmNzMyNmU2YTlmNWMzYjE4
11
+ NDYzZTkwOWY2YjhhMjI1ODlmODMzZWJhZjgwYTE1ZTgwNzI3N2Q=
12
+ data.tar.gz: !binary |-
13
+ NjM0MzczY2Q5YjNhMTZkNzYyY2IzYjEzNjlkM2M5OTNkNWI4NTJkZmE4NmU4
14
+ MzYzNjUyNWU2NDg5NTI0NjFlM2UyMGUwZDQ0OGU4NmViMzk5OTczMjkxMDA1
15
+ ZjQ4ZGFiNThlMDdhOWUxZGZkNzE5MzgyZjg3OTg1NjZjZWU5ZDk=
@@ -9,6 +9,7 @@ module Carousel
9
9
  LIVE_HOST = "web.carousel.eu"
10
10
  LIVE_PATH = "carouselwms"
11
11
  PORT = 443
12
+ KEYS_MAP = { "stockid" => "upc" }
12
13
 
13
14
  attr_accessor :username, :password, :response, :type, :request_uri, :path
14
15
 
@@ -23,14 +24,13 @@ module Carousel
23
24
 
24
25
  def send_order_request(order)
25
26
  request = order_request(order)
26
- @path = build_path(Order::PATH)
27
27
  post(request)
28
28
  end
29
29
 
30
30
  def get_inventory
31
31
  request = Inventory.new(self).build_inventory_request
32
32
  @path = build_path(Inventory::PATH)
33
- post(request).response['stock']
33
+ map_results(post(request).response['stock'])
34
34
  end
35
35
 
36
36
  def order_request(order)
@@ -43,13 +43,13 @@ module Carousel
43
43
  end
44
44
 
45
45
  def upcs(inventory)
46
- inventory.collect { |s| s["stockid"][0] }
46
+ inventory.collect { |s| s["upc"] }
47
47
  end
48
48
 
49
49
  def mapped_inventory(upcs, inventory)
50
50
  inventory.collect do |stock|
51
- if upcs.include?(stock["stockid"][0])
52
- { quantity: stock["qty"][0].to_i }
51
+ if upcs.include?(stock["upc"])
52
+ { quantity: stock["qty"].to_i }
53
53
  end
54
54
  end.compact
55
55
  end
@@ -110,5 +110,22 @@ module Carousel
110
110
  @response = Response.new(xml_response, @type)
111
111
  end
112
112
 
113
+ def map_results(results)
114
+ results = flatten_results(results)
115
+ results.map do |h|
116
+ h.inject({ }) { |x, (k,v)| x[map_keys(k)] = v; x }
117
+ end
118
+ end
119
+
120
+ def flatten_results(results)
121
+ @flattened ||= results.map do |h|
122
+ h.each { |k,v| h[k] = v[0] }
123
+ end
124
+ end
125
+
126
+ def map_keys(key)
127
+ KEYS_MAP[key] || key
128
+ end
129
+
113
130
  end
114
131
  end
@@ -1,3 +1,3 @@
1
1
  module Carousel
2
- VERSION = "0.0.1"
2
+ VERSION = "0.0.2"
3
3
  end
metadata CHANGED
@@ -1,41 +1,41 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: carousel-ruby-api
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Justin Grubbs
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-08-15 00:00:00.000000000 Z
11
+ date: 2014-08-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: builder
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - '>='
17
+ - - ! '>='
18
18
  - !ruby/object:Gem::Version
19
19
  version: '0'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - '>='
24
+ - - ! '>='
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: xml-simple
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - '>='
31
+ - - ! '>='
32
32
  - !ruby/object:Gem::Version
33
33
  version: '0'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - '>='
38
+ - - ! '>='
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
41
  - !ruby/object:Gem::Dependency
@@ -56,42 +56,42 @@ dependencies:
56
56
  name: rake
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - '>='
59
+ - - ! '>='
60
60
  - !ruby/object:Gem::Version
61
61
  version: '0'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - '>='
66
+ - - ! '>='
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: rspec
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - '>='
73
+ - - ! '>='
74
74
  - !ruby/object:Gem::Version
75
75
  version: '0'
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - '>='
80
+ - - ! '>='
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: debugger
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - '>='
87
+ - - ! '>='
88
88
  - !ruby/object:Gem::Version
89
89
  version: '0'
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - '>='
94
+ - - ! '>='
95
95
  - !ruby/object:Gem::Version
96
96
  version: '0'
97
97
  description: Ruby Library for Carousel Fulfillment API
@@ -133,17 +133,17 @@ require_paths:
133
133
  - lib
134
134
  required_ruby_version: !ruby/object:Gem::Requirement
135
135
  requirements:
136
- - - '>='
136
+ - - ! '>='
137
137
  - !ruby/object:Gem::Version
138
138
  version: '0'
139
139
  required_rubygems_version: !ruby/object:Gem::Requirement
140
140
  requirements:
141
- - - '>='
141
+ - - ! '>='
142
142
  - !ruby/object:Gem::Version
143
143
  version: '0'
144
144
  requirements: []
145
145
  rubyforge_project:
146
- rubygems_version: 2.0.6
146
+ rubygems_version: 2.1.11
147
147
  signing_key:
148
148
  specification_version: 4
149
149
  summary: This is a library for interfacing with the Carousel Fulfillment API