ecwid_api 0.2.2 → 0.2.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (58) hide show
  1. checksums.yaml +5 -5
  2. data/.gitignore +0 -0
  3. data/.rspec +0 -0
  4. data/.travis.yml +0 -0
  5. data/Gemfile +0 -0
  6. data/LICENSE.txt +0 -0
  7. data/README.md +12 -4
  8. data/Rakefile +0 -0
  9. data/ecwid_api.gemspec +8 -7
  10. data/lib/ecwid_api.rb +3 -0
  11. data/lib/ecwid_api/api.rb +6 -3
  12. data/lib/ecwid_api/api/base.rb +0 -0
  13. data/lib/ecwid_api/api/categories.rb +0 -0
  14. data/lib/ecwid_api/api/customers.rb +53 -0
  15. data/lib/ecwid_api/api/orders.rb +4 -4
  16. data/lib/ecwid_api/api/product_combinations.rb +0 -0
  17. data/lib/ecwid_api/api/product_types.rb +56 -0
  18. data/lib/ecwid_api/api/products.rb +93 -7
  19. data/lib/ecwid_api/category.rb +0 -0
  20. data/lib/ecwid_api/client.rb +7 -5
  21. data/lib/ecwid_api/customer.rb +10 -0
  22. data/lib/ecwid_api/entity.rb +15 -3
  23. data/lib/ecwid_api/error.rb +1 -1
  24. data/lib/ecwid_api/o_auth.rb +0 -0
  25. data/lib/ecwid_api/order.rb +39 -9
  26. data/lib/ecwid_api/order_item.rb +0 -0
  27. data/lib/ecwid_api/paged_ecwid_response.rb +11 -9
  28. data/lib/ecwid_api/paged_enumerator.rb +0 -0
  29. data/lib/ecwid_api/person.rb +0 -0
  30. data/lib/ecwid_api/product.rb +0 -0
  31. data/lib/ecwid_api/product_combination.rb +0 -0
  32. data/lib/ecwid_api/product_type.rb +18 -0
  33. data/lib/ecwid_api/product_type_attribute.rb +27 -0
  34. data/lib/ecwid_api/unpaged_ecwid_response.rb +38 -0
  35. data/lib/ecwid_api/version.rb +1 -1
  36. data/lib/ext/string.rb +0 -0
  37. data/spec/api/categories_spec.rb +0 -0
  38. data/spec/api/customers_spec.rb +20 -0
  39. data/spec/api/orders_spec.rb +5 -5
  40. data/spec/api/product_types_spec.rb +20 -0
  41. data/spec/api/products_spec.rb +0 -0
  42. data/spec/category_spec.rb +0 -0
  43. data/spec/client_spec.rb +3 -3
  44. data/spec/entity_spec.rb +41 -14
  45. data/spec/fixtures/categories.json +0 -0
  46. data/spec/fixtures/category.json +0 -0
  47. data/spec/fixtures/classes.json +44 -0
  48. data/spec/fixtures/customers.json +48 -0
  49. data/spec/fixtures/order.json +1 -1
  50. data/spec/fixtures/orders.json +2 -1
  51. data/spec/fixtures/products.json +0 -0
  52. data/spec/helpers/client.rb +4 -2
  53. data/spec/oauth_spec.rb +4 -4
  54. data/spec/order_item_spec.rb +0 -0
  55. data/spec/order_spec.rb +12 -12
  56. data/spec/paged_enumerator_spec.rb +2 -2
  57. data/spec/spec_helper.rb +1 -1
  58. metadata +37 -17
File without changes
File without changes
@@ -0,0 +1,44 @@
1
+ [
2
+ {
3
+ "id": 1,
4
+ "name": "Foo",
5
+ "googleTaxonomy": "This > That > Other > Foos",
6
+ "attributes": [{
7
+ "id": 111,
8
+ "name": "UPC",
9
+ "type": "UPC",
10
+ "show": "DESCR"
11
+ },
12
+ {
13
+ "id": 222,
14
+ "name": "Brand",
15
+ "type": "BRAND",
16
+ "show": "DESCR"
17
+ }
18
+ ]
19
+ },
20
+ {
21
+ "id": 2,
22
+ "name": "Bar",
23
+ "googleTaxonomy": "This > That > Other > Bars",
24
+ "attributes": [{
25
+ "id": 333,
26
+ "name": "UPC",
27
+ "type": "UPC",
28
+ "show": "DESCR"
29
+ },
30
+ {
31
+ "id": 444,
32
+ "name": "Brand",
33
+ "type": "BRAND",
34
+ "show": "DESCR"
35
+ },
36
+ {
37
+ "id": 555,
38
+ "name": "Blah",
39
+ "type": "BRAND",
40
+ "show": "NOTSHOW"
41
+ }
42
+ ]
43
+ }
44
+ ]
@@ -0,0 +1,48 @@
1
+ {
2
+ "total": 5,
3
+ "count": 5,
4
+ "offset": 0,
5
+ "limit": 100,
6
+ "items": [
7
+ {
8
+ "id": 1,
9
+ "name": "Abe Doe",
10
+ "email": "abe@example.com",
11
+ "totalOrderCount": 1,
12
+ "customerGroupId": 0,
13
+ "customerGroupName": "General"
14
+ },
15
+ {
16
+ "id": 2,
17
+ "name": "Bob Doe",
18
+ "email": "bob@example.com",
19
+ "totalOrderCount": 2,
20
+ "customerGroupId": 0,
21
+ "customerGroupName": "General"
22
+ },
23
+ {
24
+ "id": 3,
25
+ "name": "Chris Doe",
26
+ "email": "chris@example.com",
27
+ "totalOrderCount": 3,
28
+ "customerGroupId": 0,
29
+ "customerGroupName": "General"
30
+ },
31
+ {
32
+ "id": 4,
33
+ "name": "Debby Doe",
34
+ "email": "debby@example.com",
35
+ "totalOrderCount": 0,
36
+ "customerGroupId": 0,
37
+ "customerGroupName": "General"
38
+ },
39
+ {
40
+ "id": 5,
41
+ "name": "Ellen Doe",
42
+ "email": "ellen@example.com",
43
+ "totalOrderCount": 0,
44
+ "customerGroupId": 0,
45
+ "customerGroupName": "General"
46
+ }
47
+ ]
48
+ }
@@ -159,4 +159,4 @@
159
159
  "creditCardStatus": {
160
160
  "avsMessage": "AVS not applicable for this transaction"
161
161
  }
162
- }
162
+ }
@@ -5,6 +5,7 @@
5
5
  "limit": 100,
6
6
  "items": [
7
7
  {
8
+ "id": "35",
8
9
  "vendorOrderNumber": "35",
9
10
  "subtotal": 168.7,
10
11
  "total": 181.35,
@@ -299,4 +300,4 @@
299
300
  }
300
301
  }
301
302
  ]
302
- }
303
+ }
File without changes
@@ -7,7 +7,7 @@ module Helpers
7
7
  end
8
8
 
9
9
  def fixtures
10
- %w(categories category orders products)
10
+ %w(categories category customers orders products classes)
11
11
  end
12
12
 
13
13
  def faraday_stubs
@@ -18,6 +18,8 @@ module Helpers
18
18
  stub.get("/categories/5") { [200, {"Content-Type" => "application/json"}, File.read("spec/fixtures/category.json") ] }
19
19
  stub.get("/orders/35") { [200, {"Content-Type" => "application/json"}, File.read("spec/fixtures/order.json") ] }
20
20
  stub.get("/orders/404") { [404, {"Content-Type" => "application/json"}, nil ] }
21
+ stub.get("/classes/1") { [200, {"Content-Type" => "application/json"}, File.read("spec/fixtures/classes.json") ] }
22
+ stub.get("/classes/404") { [404, {"Content-Type" => "application/json"}, nil ] }
21
23
  end
22
24
  end
23
25
 
@@ -29,4 +31,4 @@ module Helpers
29
31
  end
30
32
  end
31
33
  end
32
- end
34
+ end
@@ -10,7 +10,7 @@ describe EcwidApi::OAuth do
10
10
  end
11
11
  end
12
12
 
13
- its(:oauth_url) { should == "https://my.ecwid.com/api/oauth/authorize?client_id=client_id&scope=scope&response_type=code&redirect_uri=https%3A%2F%2Fexample.com%2Foauth" }
13
+ it { is_expected.to have_attributes(oauth_url: "https://my.ecwid.com/api/oauth/authorize?client_id=client_id&scope=scope&response_type=code&redirect_uri=https%3A%2F%2Fexample.com%2Foauth") }
14
14
 
15
15
  describe "#access_token(code)" do
16
16
  let(:response) do
@@ -30,11 +30,11 @@ describe EcwidApi::OAuth do
30
30
  end
31
31
 
32
32
  it "returns an object that has the access_token" do
33
- subject.access_token("code").access_token.should == "the_token"
33
+ expect(subject.access_token("code").access_token).to eq "the_token"
34
34
  end
35
35
 
36
36
  it "returns an object that has the store_id" do
37
- subject.access_token("code").store_id.should == "12345"
37
+ expect(subject.access_token("code").store_id).to eq "12345"
38
38
  end
39
39
  end
40
- end
40
+ end
File without changes
@@ -3,7 +3,7 @@ require 'spec_helper'
3
3
  describe EcwidApi::Order, faraday: true do
4
4
  subject do
5
5
  EcwidApi::Order.new({
6
- "orderNumber" => 123,
6
+ "id" => 123,
7
7
  "billingPerson" => {
8
8
  "name" => "John Doe"
9
9
  },
@@ -17,45 +17,45 @@ describe EcwidApi::Order, faraday: true do
17
17
 
18
18
  let(:shipping_person) { nil }
19
19
 
20
- its(:id) { should == 123 }
20
+ it { is_expected.to have_attributes(id: 123) }
21
21
 
22
22
  describe "#billing_person" do
23
- its(:billing_person) { should be_a(EcwidApi::Person) }
23
+ it { expect(subject.billing_person).to be_a(EcwidApi::Person) }
24
24
 
25
25
  it "has the correct data" do
26
- subject.billing_person.name.should == "John Doe"
26
+ expect(subject.billing_person.name).to eq "John Doe"
27
27
  end
28
28
  end
29
29
 
30
30
  describe "#shipping_person" do
31
- its(:shipping_person) { should be_a(EcwidApi::Person) }
31
+ it { expect(subject.shipping_person).to be_a(EcwidApi::Person) }
32
32
 
33
33
  context "without a shipping person" do
34
34
  let(:shipping_person) { nil }
35
- its(:shipping_person) { should == subject.billing_person }
35
+ it { expect(subject.shipping_person).to be(subject.billing_person) }
36
36
  end
37
37
 
38
38
  context "with a shipping person" do
39
39
  let(:shipping_person) { {"name" => "Jane Doe"} }
40
40
  it "has the correct data" do
41
- subject.shipping_person.name.should == "Jane Doe"
41
+ expect(subject.shipping_person.name).to eq "Jane Doe"
42
42
  end
43
43
  end
44
44
  end
45
45
 
46
46
  describe "#items" do
47
47
  it "has the correct number of items" do
48
- subject.items.size.should == 1
48
+ expect(subject.items.size).to eq 1
49
49
  end
50
50
 
51
51
  it "has the correct data" do
52
- subject.items.first.sku.should == "112233"
52
+ expect(subject.items.first.sku).to eq "112233"
53
53
  end
54
54
  end
55
55
 
56
56
  describe "#fulfillment_status=" do
57
57
  it "raises an error with an invalid status" do
58
- expect { subject.fulfillment_status = :stuff }.to raise_error
58
+ expect { subject.fulfillment_status = :stuff }.to raise_error(StandardError)
59
59
  end
60
60
 
61
61
  it "doesn't raise an error with a valid status" do
@@ -65,7 +65,7 @@ describe EcwidApi::Order, faraday: true do
65
65
 
66
66
  describe "#fulfillment_status" do
67
67
  it "is symbolized" do
68
- subject.fulfillment_status.should == :awaiting_processing
68
+ expect(subject.fulfillment_status).to eq :awaiting_processing
69
69
  end
70
70
  end
71
- end
71
+ end
@@ -26,7 +26,7 @@ describe EcwidApi::PagedEnumerator do
26
26
  end
27
27
 
28
28
  it "contains the whole result set" do
29
- subject.to_a.should == %w(1 2 3 4 5 6)
29
+ expect(subject.to_a).to eq %w(1 2 3 4 5 6)
30
30
  end
31
31
 
32
32
  it "iterates over each response once" do
@@ -35,4 +35,4 @@ describe EcwidApi::PagedEnumerator do
35
35
  subject.each
36
36
  subject.each
37
37
  end
38
- end
38
+ end
@@ -9,7 +9,7 @@ require "ecwid_api"
9
9
  require "helpers/client"
10
10
 
11
11
  RSpec.configure do |config|
12
- config.treat_symbols_as_metadata_keys_with_true_values = true
12
+ # config.treat_symbols_as_metadata_keys_with_true_values = true
13
13
  config.run_all_when_everything_filtered = true
14
14
  config.filter_run :focus
15
15
 
metadata CHANGED
@@ -1,14 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ecwid_api
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.2
4
+ version: 0.2.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Biehl
8
- autorequire:
8
+ - Vishal Zambre
9
+ autorequire:
9
10
  bindir: bin
10
11
  cert_chain: []
11
- date: 2015-11-10 00:00:00.000000000 Z
12
+ date: 2021-01-05 00:00:00.000000000 Z
12
13
  dependencies:
13
14
  - !ruby/object:Gem::Dependency
14
15
  name: bundler
@@ -17,6 +18,9 @@ dependencies:
17
18
  - - "~>"
18
19
  - !ruby/object:Gem::Version
19
20
  version: '1.5'
21
+ - - ">="
22
+ - !ruby/object:Gem::Version
23
+ version: '1.5'
20
24
  type: :development
21
25
  prerelease: false
22
26
  version_requirements: !ruby/object:Gem::Requirement
@@ -24,6 +28,9 @@ dependencies:
24
28
  - - "~>"
25
29
  - !ruby/object:Gem::Version
26
30
  version: '1.5'
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '1.5'
27
34
  - !ruby/object:Gem::Dependency
28
35
  name: rake
29
36
  requirement: !ruby/object:Gem::Requirement
@@ -44,51 +51,51 @@ dependencies:
44
51
  requirements:
45
52
  - - "~>"
46
53
  - !ruby/object:Gem::Version
47
- version: '2.14'
54
+ version: '3.5'
48
55
  - - ">="
49
56
  - !ruby/object:Gem::Version
50
- version: 2.14.1
57
+ version: '3.5'
51
58
  type: :development
52
59
  prerelease: false
53
60
  version_requirements: !ruby/object:Gem::Requirement
54
61
  requirements:
55
62
  - - "~>"
56
63
  - !ruby/object:Gem::Version
57
- version: '2.14'
64
+ version: '3.5'
58
65
  - - ">="
59
66
  - !ruby/object:Gem::Version
60
- version: 2.14.1
67
+ version: '3.5'
61
68
  - !ruby/object:Gem::Dependency
62
69
  name: faraday
63
70
  requirement: !ruby/object:Gem::Requirement
64
71
  requirements:
65
72
  - - "~>"
66
73
  - !ruby/object:Gem::Version
67
- version: 0.9.0
74
+ version: '0.9'
68
75
  type: :runtime
69
76
  prerelease: false
70
77
  version_requirements: !ruby/object:Gem::Requirement
71
78
  requirements:
72
79
  - - "~>"
73
80
  - !ruby/object:Gem::Version
74
- version: 0.9.0
81
+ version: '0.9'
75
82
  - !ruby/object:Gem::Dependency
76
83
  name: faraday_middleware
77
84
  requirement: !ruby/object:Gem::Requirement
78
85
  requirements:
79
86
  - - "~>"
80
87
  - !ruby/object:Gem::Version
81
- version: 0.9.1
88
+ version: '0.9'
82
89
  type: :runtime
83
90
  prerelease: false
84
91
  version_requirements: !ruby/object:Gem::Requirement
85
92
  requirements:
86
93
  - - "~>"
87
94
  - !ruby/object:Gem::Version
88
- version: 0.9.1
95
+ version: '0.9'
89
96
  description: A client for the Ecwid REST API in Ruby
90
97
  email:
91
- - me@davidbiehl.com
98
+ - v.zambre@gmail.com
92
99
  executables: []
93
100
  extensions: []
94
101
  extra_rdoc_files: []
@@ -105,11 +112,14 @@ files:
105
112
  - lib/ecwid_api/api.rb
106
113
  - lib/ecwid_api/api/base.rb
107
114
  - lib/ecwid_api/api/categories.rb
115
+ - lib/ecwid_api/api/customers.rb
108
116
  - lib/ecwid_api/api/orders.rb
109
117
  - lib/ecwid_api/api/product_combinations.rb
118
+ - lib/ecwid_api/api/product_types.rb
110
119
  - lib/ecwid_api/api/products.rb
111
120
  - lib/ecwid_api/category.rb
112
121
  - lib/ecwid_api/client.rb
122
+ - lib/ecwid_api/customer.rb
113
123
  - lib/ecwid_api/entity.rb
114
124
  - lib/ecwid_api/error.rb
115
125
  - lib/ecwid_api/o_auth.rb
@@ -120,16 +130,23 @@ files:
120
130
  - lib/ecwid_api/person.rb
121
131
  - lib/ecwid_api/product.rb
122
132
  - lib/ecwid_api/product_combination.rb
133
+ - lib/ecwid_api/product_type.rb
134
+ - lib/ecwid_api/product_type_attribute.rb
135
+ - lib/ecwid_api/unpaged_ecwid_response.rb
123
136
  - lib/ecwid_api/version.rb
124
137
  - lib/ext/string.rb
125
138
  - spec/api/categories_spec.rb
139
+ - spec/api/customers_spec.rb
126
140
  - spec/api/orders_spec.rb
141
+ - spec/api/product_types_spec.rb
127
142
  - spec/api/products_spec.rb
128
143
  - spec/category_spec.rb
129
144
  - spec/client_spec.rb
130
145
  - spec/entity_spec.rb
131
146
  - spec/fixtures/categories.json
132
147
  - spec/fixtures/category.json
148
+ - spec/fixtures/classes.json
149
+ - spec/fixtures/customers.json
133
150
  - spec/fixtures/order.json
134
151
  - spec/fixtures/orders.json
135
152
  - spec/fixtures/products.json
@@ -139,11 +156,11 @@ files:
139
156
  - spec/order_spec.rb
140
157
  - spec/paged_enumerator_spec.rb
141
158
  - spec/spec_helper.rb
142
- homepage: https://github.com/davidbiehl/ecwid_api
159
+ homepage: https://github.com/vishalzambre/ecwid_api
143
160
  licenses:
144
161
  - MIT
145
162
  metadata: {}
146
- post_install_message:
163
+ post_install_message: Thanks for installing!
147
164
  rdoc_options: []
148
165
  require_paths:
149
166
  - lib
@@ -158,20 +175,23 @@ required_rubygems_version: !ruby/object:Gem::Requirement
158
175
  - !ruby/object:Gem::Version
159
176
  version: '0'
160
177
  requirements: []
161
- rubyforge_project:
162
- rubygems_version: 2.4.6
163
- signing_key:
178
+ rubygems_version: 3.1.2
179
+ signing_key:
164
180
  specification_version: 4
165
181
  summary: A client for the Ecwid REST API
166
182
  test_files:
167
183
  - spec/api/categories_spec.rb
184
+ - spec/api/customers_spec.rb
168
185
  - spec/api/orders_spec.rb
186
+ - spec/api/product_types_spec.rb
169
187
  - spec/api/products_spec.rb
170
188
  - spec/category_spec.rb
171
189
  - spec/client_spec.rb
172
190
  - spec/entity_spec.rb
173
191
  - spec/fixtures/categories.json
174
192
  - spec/fixtures/category.json
193
+ - spec/fixtures/classes.json
194
+ - spec/fixtures/customers.json
175
195
  - spec/fixtures/order.json
176
196
  - spec/fixtures/orders.json
177
197
  - spec/fixtures/products.json