carousel-ruby-api 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
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