viglink-api 0.1.0
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.
- data/.gitignore +18 -0
- data/.rspec +3 -0
- data/Gemfile +10 -0
- data/Guardfile +5 -0
- data/LICENSE +20 -0
- data/LICENSE.txt +22 -0
- data/README.md +119 -0
- data/Rakefile +7 -0
- data/VigLinkCatalogAPIDocumentation.html +129 -0
- data/lib/viglink_api.rb +46 -0
- data/lib/viglink_api/client.rb +56 -0
- data/lib/viglink_api/country.rb +18 -0
- data/lib/viglink_api/deal.rb +67 -0
- data/lib/viglink_api/merchant.rb +45 -0
- data/lib/viglink_api/product.rb +25 -0
- data/lib/viglink_api/purchases.rb +63 -0
- data/lib/viglink_api/request.rb +30 -0
- data/lib/viglink_api/version.rb +3 -0
- data/spec/spec_helper.rb +40 -0
- data/spec/viglink_api/client_spec.rb +11 -0
- data/spec/viglink_api/country_spec.rb +20 -0
- data/spec/viglink_api/deal_spec.rb +104 -0
- data/spec/viglink_api/merchant_spec.rb +104 -0
- data/spec/viglink_api/product_spec.rb +55 -0
- data/spec/viglink_api/purchases_spec.rb +61 -0
- data/spec/viglink_api_spec.rb +17 -0
- data/viglink_api.gemspec +34 -0
- metadata +290 -0
@@ -0,0 +1,55 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
require 'spec_helper'
|
3
|
+
|
4
|
+
describe Viglink::Product do
|
5
|
+
|
6
|
+
let(:client) { Viglink::Client.new }
|
7
|
+
|
8
|
+
describe "#find_products" do
|
9
|
+
context "without search options" do
|
10
|
+
|
11
|
+
before(:each) do
|
12
|
+
@products_response = client.find_products
|
13
|
+
end
|
14
|
+
|
15
|
+
it "returns a Hash of products", vcr: true do
|
16
|
+
@products_response.should be_kind_of Hash
|
17
|
+
end
|
18
|
+
|
19
|
+
it "retuns the total count of products", vcr: true do
|
20
|
+
@products_response[:count].should_not be_nil
|
21
|
+
end
|
22
|
+
|
23
|
+
it "retuns an Array of products", vcr: true do
|
24
|
+
@products_response.product.should_not be_nil
|
25
|
+
end
|
26
|
+
|
27
|
+
end
|
28
|
+
|
29
|
+
context "with search options" do
|
30
|
+
|
31
|
+
before(:each) do
|
32
|
+
@products_response = client.find_products({full: true})
|
33
|
+
end
|
34
|
+
|
35
|
+
it "returns a Hash of products", vcr: true do
|
36
|
+
@products_response.should be_kind_of Hash
|
37
|
+
end
|
38
|
+
|
39
|
+
context "response resources of product" do
|
40
|
+
it "returns the `results`", vcr: true do
|
41
|
+
@products_response[:results].should_not be_nil
|
42
|
+
end
|
43
|
+
|
44
|
+
it "returns the `parameters`", vcr: true do
|
45
|
+
@products_response[:parameters].should_not be_nil
|
46
|
+
end
|
47
|
+
|
48
|
+
it "returns an `products`", vcr: true do
|
49
|
+
@products_response.results.products.should_not be_nil
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
54
|
+
|
55
|
+
end
|
@@ -0,0 +1,61 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
require 'spec_helper'
|
3
|
+
|
4
|
+
describe Viglink::Purchases do
|
5
|
+
|
6
|
+
it "creates a Faraday::Connection" do
|
7
|
+
purchases = Viglink::Purchases.new
|
8
|
+
purchases.connection.should be_kind_of Faraday::Connection
|
9
|
+
end
|
10
|
+
|
11
|
+
describe "#find_purchases" do
|
12
|
+
|
13
|
+
let(:purchases) { Viglink::Purchases.new }
|
14
|
+
|
15
|
+
context "without search options" do
|
16
|
+
|
17
|
+
before(:each) do
|
18
|
+
@purchases_response = purchases.find_purchases
|
19
|
+
end
|
20
|
+
|
21
|
+
it "returns a Hash of purchases", vcr: true do
|
22
|
+
@purchases_response.should be_kind_of Hash
|
23
|
+
end
|
24
|
+
|
25
|
+
it "retuns the total count of purchases", vcr: true do
|
26
|
+
@purchases_response[:count].should_not be_nil
|
27
|
+
end
|
28
|
+
|
29
|
+
it "retuns an Array of purchases", vcr: true do
|
30
|
+
@purchases_response.product.should_not be_nil
|
31
|
+
end
|
32
|
+
|
33
|
+
end
|
34
|
+
|
35
|
+
context "with search options" do
|
36
|
+
|
37
|
+
before(:each) do
|
38
|
+
@purchases_response = purchases.find_purchases({period: 'week'})
|
39
|
+
end
|
40
|
+
|
41
|
+
it "returns a Hash of purchases", vcr: true do
|
42
|
+
@purchases_response.should be_kind_of Hash
|
43
|
+
end
|
44
|
+
|
45
|
+
context "response resources of product" do
|
46
|
+
it "returns the `results`", vcr: true do
|
47
|
+
@purchases_response[:results].should_not be_nil
|
48
|
+
end
|
49
|
+
|
50
|
+
it "returns the `parameters`", vcr: true do
|
51
|
+
@purchases_response[:parameters].should_not be_nil
|
52
|
+
end
|
53
|
+
|
54
|
+
it "returns an `purchases`", vcr: true do
|
55
|
+
@purchases_response.results.purchases.should_not be_nil
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|
59
|
+
end
|
60
|
+
|
61
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
require 'spec_helper'
|
3
|
+
|
4
|
+
describe ViglinkApi do
|
5
|
+
|
6
|
+
let(:client) { ViglinkApi::Client.new }
|
7
|
+
|
8
|
+
it "configures with an API_KEY" do
|
9
|
+
pending "I'm using the actual key"
|
10
|
+
client.api_key.should eq 'your-api-key'
|
11
|
+
end
|
12
|
+
|
13
|
+
it "points to the REST API URL" do
|
14
|
+
client.api_url.should eq 'http://catalog.viglink.com'
|
15
|
+
end
|
16
|
+
|
17
|
+
end
|
data/viglink_api.gemspec
ADDED
@@ -0,0 +1,34 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
lib = File.expand_path('../lib', __FILE__)
|
3
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
+
require 'viglink_api/version'
|
5
|
+
|
6
|
+
Gem::Specification.new do |gem|
|
7
|
+
gem.name = "viglink-api"
|
8
|
+
gem.version = ViglinkApi::VERSION
|
9
|
+
gem.authors = ["Clayton Liggitt"]
|
10
|
+
gem.email = ["mail@enorganik.com"]
|
11
|
+
gem.description = "Viglink API Wrapper"
|
12
|
+
gem.summary = "This gem is a wrapper for the Viglink Catalog API. This gem contains module methods for each API endpoint, as well as an additional subset for the CUID revenue API."
|
13
|
+
gem.homepage = "https://github.com/arktisklada/viglink-api"
|
14
|
+
|
15
|
+
gem.files = `git ls-files`.split($/)
|
16
|
+
gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
|
17
|
+
gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
|
18
|
+
gem.require_paths = ["lib"]
|
19
|
+
|
20
|
+
gem.add_dependency 'faraday', '~> 0.8'
|
21
|
+
gem.add_dependency 'faraday_middleware', '~> 0.9'
|
22
|
+
gem.add_dependency 'hashie'
|
23
|
+
gem.add_dependency 'multi_xml'
|
24
|
+
gem.add_dependency 'activesupport'
|
25
|
+
|
26
|
+
gem.add_development_dependency 'rake'
|
27
|
+
gem.add_development_dependency 'rspec'
|
28
|
+
gem.add_development_dependency 'simplecov'
|
29
|
+
gem.add_development_dependency 'simplecov-rcov'
|
30
|
+
gem.add_development_dependency 'yard'
|
31
|
+
gem.add_development_dependency 'vcr'
|
32
|
+
gem.add_development_dependency 'shoulda'
|
33
|
+
gem.add_development_dependency 'webmock'
|
34
|
+
end
|
metadata
ADDED
@@ -0,0 +1,290 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: viglink-api
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.0
|
5
|
+
prerelease:
|
6
|
+
platform: ruby
|
7
|
+
authors:
|
8
|
+
- Clayton Liggitt
|
9
|
+
autorequire:
|
10
|
+
bindir: bin
|
11
|
+
cert_chain: []
|
12
|
+
date: 2013-11-02 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: faraday
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
18
|
+
requirements:
|
19
|
+
- - ~>
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '0.8'
|
22
|
+
type: :runtime
|
23
|
+
prerelease: false
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ~>
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '0.8'
|
30
|
+
- !ruby/object:Gem::Dependency
|
31
|
+
name: faraday_middleware
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
33
|
+
none: false
|
34
|
+
requirements:
|
35
|
+
- - ~>
|
36
|
+
- !ruby/object:Gem::Version
|
37
|
+
version: '0.9'
|
38
|
+
type: :runtime
|
39
|
+
prerelease: false
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ~>
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: '0.9'
|
46
|
+
- !ruby/object:Gem::Dependency
|
47
|
+
name: hashie
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
49
|
+
none: false
|
50
|
+
requirements:
|
51
|
+
- - ! '>='
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: '0'
|
54
|
+
type: :runtime
|
55
|
+
prerelease: false
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
58
|
+
requirements:
|
59
|
+
- - ! '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
- !ruby/object:Gem::Dependency
|
63
|
+
name: multi_xml
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
65
|
+
none: false
|
66
|
+
requirements:
|
67
|
+
- - ! '>='
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: '0'
|
70
|
+
type: :runtime
|
71
|
+
prerelease: false
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
74
|
+
requirements:
|
75
|
+
- - ! '>='
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: '0'
|
78
|
+
- !ruby/object:Gem::Dependency
|
79
|
+
name: activesupport
|
80
|
+
requirement: !ruby/object:Gem::Requirement
|
81
|
+
none: false
|
82
|
+
requirements:
|
83
|
+
- - ! '>='
|
84
|
+
- !ruby/object:Gem::Version
|
85
|
+
version: '0'
|
86
|
+
type: :runtime
|
87
|
+
prerelease: false
|
88
|
+
version_requirements: !ruby/object:Gem::Requirement
|
89
|
+
none: false
|
90
|
+
requirements:
|
91
|
+
- - ! '>='
|
92
|
+
- !ruby/object:Gem::Version
|
93
|
+
version: '0'
|
94
|
+
- !ruby/object:Gem::Dependency
|
95
|
+
name: rake
|
96
|
+
requirement: !ruby/object:Gem::Requirement
|
97
|
+
none: false
|
98
|
+
requirements:
|
99
|
+
- - ! '>='
|
100
|
+
- !ruby/object:Gem::Version
|
101
|
+
version: '0'
|
102
|
+
type: :development
|
103
|
+
prerelease: false
|
104
|
+
version_requirements: !ruby/object:Gem::Requirement
|
105
|
+
none: false
|
106
|
+
requirements:
|
107
|
+
- - ! '>='
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: '0'
|
110
|
+
- !ruby/object:Gem::Dependency
|
111
|
+
name: rspec
|
112
|
+
requirement: !ruby/object:Gem::Requirement
|
113
|
+
none: false
|
114
|
+
requirements:
|
115
|
+
- - ! '>='
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '0'
|
118
|
+
type: :development
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
none: false
|
122
|
+
requirements:
|
123
|
+
- - ! '>='
|
124
|
+
- !ruby/object:Gem::Version
|
125
|
+
version: '0'
|
126
|
+
- !ruby/object:Gem::Dependency
|
127
|
+
name: simplecov
|
128
|
+
requirement: !ruby/object:Gem::Requirement
|
129
|
+
none: false
|
130
|
+
requirements:
|
131
|
+
- - ! '>='
|
132
|
+
- !ruby/object:Gem::Version
|
133
|
+
version: '0'
|
134
|
+
type: :development
|
135
|
+
prerelease: false
|
136
|
+
version_requirements: !ruby/object:Gem::Requirement
|
137
|
+
none: false
|
138
|
+
requirements:
|
139
|
+
- - ! '>='
|
140
|
+
- !ruby/object:Gem::Version
|
141
|
+
version: '0'
|
142
|
+
- !ruby/object:Gem::Dependency
|
143
|
+
name: simplecov-rcov
|
144
|
+
requirement: !ruby/object:Gem::Requirement
|
145
|
+
none: false
|
146
|
+
requirements:
|
147
|
+
- - ! '>='
|
148
|
+
- !ruby/object:Gem::Version
|
149
|
+
version: '0'
|
150
|
+
type: :development
|
151
|
+
prerelease: false
|
152
|
+
version_requirements: !ruby/object:Gem::Requirement
|
153
|
+
none: false
|
154
|
+
requirements:
|
155
|
+
- - ! '>='
|
156
|
+
- !ruby/object:Gem::Version
|
157
|
+
version: '0'
|
158
|
+
- !ruby/object:Gem::Dependency
|
159
|
+
name: yard
|
160
|
+
requirement: !ruby/object:Gem::Requirement
|
161
|
+
none: false
|
162
|
+
requirements:
|
163
|
+
- - ! '>='
|
164
|
+
- !ruby/object:Gem::Version
|
165
|
+
version: '0'
|
166
|
+
type: :development
|
167
|
+
prerelease: false
|
168
|
+
version_requirements: !ruby/object:Gem::Requirement
|
169
|
+
none: false
|
170
|
+
requirements:
|
171
|
+
- - ! '>='
|
172
|
+
- !ruby/object:Gem::Version
|
173
|
+
version: '0'
|
174
|
+
- !ruby/object:Gem::Dependency
|
175
|
+
name: vcr
|
176
|
+
requirement: !ruby/object:Gem::Requirement
|
177
|
+
none: false
|
178
|
+
requirements:
|
179
|
+
- - ! '>='
|
180
|
+
- !ruby/object:Gem::Version
|
181
|
+
version: '0'
|
182
|
+
type: :development
|
183
|
+
prerelease: false
|
184
|
+
version_requirements: !ruby/object:Gem::Requirement
|
185
|
+
none: false
|
186
|
+
requirements:
|
187
|
+
- - ! '>='
|
188
|
+
- !ruby/object:Gem::Version
|
189
|
+
version: '0'
|
190
|
+
- !ruby/object:Gem::Dependency
|
191
|
+
name: shoulda
|
192
|
+
requirement: !ruby/object:Gem::Requirement
|
193
|
+
none: false
|
194
|
+
requirements:
|
195
|
+
- - ! '>='
|
196
|
+
- !ruby/object:Gem::Version
|
197
|
+
version: '0'
|
198
|
+
type: :development
|
199
|
+
prerelease: false
|
200
|
+
version_requirements: !ruby/object:Gem::Requirement
|
201
|
+
none: false
|
202
|
+
requirements:
|
203
|
+
- - ! '>='
|
204
|
+
- !ruby/object:Gem::Version
|
205
|
+
version: '0'
|
206
|
+
- !ruby/object:Gem::Dependency
|
207
|
+
name: webmock
|
208
|
+
requirement: !ruby/object:Gem::Requirement
|
209
|
+
none: false
|
210
|
+
requirements:
|
211
|
+
- - ! '>='
|
212
|
+
- !ruby/object:Gem::Version
|
213
|
+
version: '0'
|
214
|
+
type: :development
|
215
|
+
prerelease: false
|
216
|
+
version_requirements: !ruby/object:Gem::Requirement
|
217
|
+
none: false
|
218
|
+
requirements:
|
219
|
+
- - ! '>='
|
220
|
+
- !ruby/object:Gem::Version
|
221
|
+
version: '0'
|
222
|
+
description: Viglink API Wrapper
|
223
|
+
email:
|
224
|
+
- mail@enorganik.com
|
225
|
+
executables: []
|
226
|
+
extensions: []
|
227
|
+
extra_rdoc_files: []
|
228
|
+
files:
|
229
|
+
- .gitignore
|
230
|
+
- .rspec
|
231
|
+
- Gemfile
|
232
|
+
- Guardfile
|
233
|
+
- LICENSE
|
234
|
+
- LICENSE.txt
|
235
|
+
- README.md
|
236
|
+
- Rakefile
|
237
|
+
- VigLinkCatalogAPIDocumentation.html
|
238
|
+
- lib/viglink_api.rb
|
239
|
+
- lib/viglink_api/client.rb
|
240
|
+
- lib/viglink_api/country.rb
|
241
|
+
- lib/viglink_api/deal.rb
|
242
|
+
- lib/viglink_api/merchant.rb
|
243
|
+
- lib/viglink_api/product.rb
|
244
|
+
- lib/viglink_api/purchases.rb
|
245
|
+
- lib/viglink_api/request.rb
|
246
|
+
- lib/viglink_api/version.rb
|
247
|
+
- spec/spec_helper.rb
|
248
|
+
- spec/viglink_api/client_spec.rb
|
249
|
+
- spec/viglink_api/country_spec.rb
|
250
|
+
- spec/viglink_api/deal_spec.rb
|
251
|
+
- spec/viglink_api/merchant_spec.rb
|
252
|
+
- spec/viglink_api/product_spec.rb
|
253
|
+
- spec/viglink_api/purchases_spec.rb
|
254
|
+
- spec/viglink_api_spec.rb
|
255
|
+
- viglink_api.gemspec
|
256
|
+
homepage: https://github.com/arktisklada/viglink-api
|
257
|
+
licenses: []
|
258
|
+
post_install_message:
|
259
|
+
rdoc_options: []
|
260
|
+
require_paths:
|
261
|
+
- lib
|
262
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
263
|
+
none: false
|
264
|
+
requirements:
|
265
|
+
- - ! '>='
|
266
|
+
- !ruby/object:Gem::Version
|
267
|
+
version: '0'
|
268
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
269
|
+
none: false
|
270
|
+
requirements:
|
271
|
+
- - ! '>='
|
272
|
+
- !ruby/object:Gem::Version
|
273
|
+
version: '0'
|
274
|
+
requirements: []
|
275
|
+
rubyforge_project:
|
276
|
+
rubygems_version: 1.8.23
|
277
|
+
signing_key:
|
278
|
+
specification_version: 3
|
279
|
+
summary: This gem is a wrapper for the Viglink Catalog API. This gem contains module
|
280
|
+
methods for each API endpoint, as well as an additional subset for the CUID revenue
|
281
|
+
API.
|
282
|
+
test_files:
|
283
|
+
- spec/spec_helper.rb
|
284
|
+
- spec/viglink_api/client_spec.rb
|
285
|
+
- spec/viglink_api/country_spec.rb
|
286
|
+
- spec/viglink_api/deal_spec.rb
|
287
|
+
- spec/viglink_api/merchant_spec.rb
|
288
|
+
- spec/viglink_api/product_spec.rb
|
289
|
+
- spec/viglink_api/purchases_spec.rb
|
290
|
+
- spec/viglink_api_spec.rb
|