retailigence_ruby 0.0.1

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/test/helper.rb ADDED
@@ -0,0 +1,10 @@
1
+ require 'test/unit'
2
+ require 'pry'
3
+ require 'vcr_setup'
4
+
5
+ require 'retailigence_ruby'
6
+
7
+ Retailigence.configure do |config|
8
+ config.api_key = ENV['RETAILIGENCE_API_KEY'] || 'retailigence_api_key'
9
+ config.production = false
10
+ end
@@ -0,0 +1,22 @@
1
+ require 'helper'
2
+
3
+ class TestInventory < Test::Unit::TestCase
4
+
5
+ def setup
6
+ VCR.use_cassette('inventory') do
7
+ @inventory = Retailigence::Inventory.fetch(
8
+ '6cd9f7a2-49de-4c2c-b5a6-7f4d13f9e89a', # Product ID
9
+ '869b02ce-4908-4339-8891-6404602ea7e4' # Location ID
10
+ )
11
+ end
12
+ end
13
+
14
+ def test_inventory
15
+ assert_equal 'USD', @inventory.currency
16
+ assert_equal '869b02ce-4908-4339-8891-6404602ea7e4', @inventory.location_id
17
+ assert_equal '6cd9f7a2-49de-4c2c-b5a6-7f4d13f9e89a', @inventory.product_id
18
+ assert_equal 'Xbox One', @inventory.product_name
19
+ assert_equal 'Out of stock', @inventory.quantity_text
20
+ assert_equal '499.99', @inventory.price
21
+ end
22
+ end
@@ -0,0 +1,48 @@
1
+ require 'helper'
2
+
3
+ class TestLocation < Test::Unit::TestCase
4
+ def setup
5
+ VCR.use_cassette('location_search') do
6
+ @results = Retailigence::Location.search(
7
+ userlocation: '37.3323,-122.0312',
8
+ requestorid: 'test',
9
+ keywords: 'Volkswagen'
10
+ )
11
+ end
12
+
13
+ @first_result = @results.first
14
+ @first_location = @first_result.locations.first
15
+ end
16
+
17
+ def test_search
18
+ assert_equal Retailigence::SearchResult, @results.class
19
+ end
20
+
21
+ def test_locations
22
+ assert_equal Retailigence::Location, @first_location.class
23
+ end
24
+
25
+ def test_distance
26
+ assert_equal 3.683537289443949, @first_location.distance.distance
27
+ assert_equal 'miles', @first_location.distance.units
28
+ end
29
+
30
+ def test_retailer
31
+ assert_equal 'Frys', @first_location.retailer.name
32
+ end
33
+
34
+ def test_location_coordinates
35
+ assert_equal 37.380241, @first_location.latitude
36
+ assert_equal -122.00187, @first_location.longitude
37
+ end
38
+
39
+ def test_address
40
+ address = @first_location.address
41
+
42
+ assert_equal '1077 E Arques Ave', address.address1
43
+ assert_equal 'Sunnyvale', address.city
44
+ assert_equal 'CA', address.state
45
+ assert_equal '94085', address.postal
46
+ assert_equal 'US', address.country
47
+ end
48
+ end
@@ -0,0 +1,30 @@
1
+ require 'helper'
2
+
3
+ class TestProduct < Test::Unit::TestCase
4
+
5
+ def setup
6
+ VCR.use_cassette('product_search') do
7
+ @results = Retailigence::Product.search(
8
+ userlocation: '37.3323,-122.0312',
9
+ requestorid: 'test',
10
+ name: 'Xbox One'
11
+ )
12
+ end
13
+
14
+ @product = @results.first
15
+ end
16
+
17
+ def test_search
18
+ assert_equal Retailigence::SearchResult, @results.class
19
+ end
20
+
21
+ def test_distance
22
+ assert_equal 'miles', @product.distance.units
23
+ end
24
+
25
+ def test_inventory
26
+ VCR.use_cassette('product_inventory') do
27
+ assert_equal Retailigence::Inventory, @product.inventory.class
28
+ end
29
+ end
30
+ end
data/test/vcr_setup.rb ADDED
@@ -0,0 +1,7 @@
1
+ require 'vcr'
2
+
3
+ VCR.configure do |c|
4
+ c.cassette_library_dir = 'test/cassettes'
5
+ c.hook_into :typhoeus
6
+ c.filter_sensitive_data('<API_KEY>') { ENV['RETAILIGENCE_API_KEY'] || 'retailigence_api_key' }
7
+ end
metadata ADDED
@@ -0,0 +1,166 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: retailigence_ruby
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Drew Tempelmeyer
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2014-02-12 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bundler
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.5'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '1.5'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rubocop
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: vcr
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: 2.6.0
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: 2.6.0
69
+ - !ruby/object:Gem::Dependency
70
+ name: pry
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: typhoeus
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "<="
88
+ - !ruby/object:Gem::Version
89
+ version: 0.7.0
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "<="
95
+ - !ruby/object:Gem::Version
96
+ version: 0.7.0
97
+ description:
98
+ email:
99
+ - drewtemp@gmail.com
100
+ executables: []
101
+ extensions: []
102
+ extra_rdoc_files: []
103
+ files:
104
+ - ".gitignore"
105
+ - Gemfile
106
+ - LICENSE.txt
107
+ - README.md
108
+ - Rakefile
109
+ - lib/retailigence.rb
110
+ - lib/retailigence/address.rb
111
+ - lib/retailigence/configuration.rb
112
+ - lib/retailigence/distance.rb
113
+ - lib/retailigence/exceptions.rb
114
+ - lib/retailigence/image.rb
115
+ - lib/retailigence/inventory.rb
116
+ - lib/retailigence/location.rb
117
+ - lib/retailigence/model.rb
118
+ - lib/retailigence/product.rb
119
+ - lib/retailigence/retailer.rb
120
+ - lib/retailigence/search_result.rb
121
+ - lib/retailigence/version.rb
122
+ - lib/retailigence_ruby.rb
123
+ - retailigence_ruby.gemspec
124
+ - test/cassettes/inventory.yml
125
+ - test/cassettes/location_search.yml
126
+ - test/cassettes/product_inventory.yml
127
+ - test/cassettes/product_search.yml
128
+ - test/helper.rb
129
+ - test/test_inventory.rb
130
+ - test/test_location.rb
131
+ - test/test_product.rb
132
+ - test/vcr_setup.rb
133
+ homepage: https://github.com/drewtempelmeyer/retailigence-ruby
134
+ licenses:
135
+ - MIT
136
+ metadata: {}
137
+ post_install_message:
138
+ rdoc_options: []
139
+ require_paths:
140
+ - lib
141
+ required_ruby_version: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - ">="
144
+ - !ruby/object:Gem::Version
145
+ version: '0'
146
+ required_rubygems_version: !ruby/object:Gem::Requirement
147
+ requirements:
148
+ - - ">="
149
+ - !ruby/object:Gem::Version
150
+ version: '0'
151
+ requirements: []
152
+ rubyforge_project:
153
+ rubygems_version: 2.2.0
154
+ signing_key:
155
+ specification_version: 4
156
+ summary: Ruby library for interactiing with Retailigence.
157
+ test_files:
158
+ - test/cassettes/inventory.yml
159
+ - test/cassettes/location_search.yml
160
+ - test/cassettes/product_inventory.yml
161
+ - test/cassettes/product_search.yml
162
+ - test/helper.rb
163
+ - test/test_inventory.rb
164
+ - test/test_location.rb
165
+ - test/test_product.rb
166
+ - test/vcr_setup.rb