spree-api-client 0.0.2 → 0.2.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.
Files changed (81) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +9 -0
  3. data/LICENSE.txt +674 -0
  4. data/README.md +31 -38
  5. data/lib/spree_client.rb +3 -0
  6. data/lib/spree_client.rb~ +71 -0
  7. data/lib/spree_client/api.rb +1 -0
  8. data/lib/spree_client/api/v1.rb +52 -0
  9. data/lib/spree_client/api/v1/products.rb +23 -0
  10. data/lib/spree_client/api/v1/properties.rb +12 -0
  11. data/lib/spree_client/api/v1/resources.rb +142 -0
  12. data/lib/spree_client/api/v1/stock_items.rb +27 -0
  13. data/lib/spree_client/api/v1/stock_locations.rb +33 -0
  14. data/lib/spree_client/api/v1/stock_movements.rb +16 -0
  15. data/lib/spree_client/api/v1/taxonomies.rb +12 -0
  16. data/lib/spree_client/api/v1/variants.rb +13 -0
  17. data/lib/spree_client/attributes.rb +26 -0
  18. data/lib/spree_client/models.rb +5 -0
  19. data/lib/spree_client/models/product.rb +7 -0
  20. data/lib/spree_client/models/property.rb +6 -0
  21. data/lib/spree_client/models/stock_item.rb +7 -0
  22. data/lib/spree_client/models/stock_location.rb +7 -0
  23. data/lib/spree_client/models/stock_movement.rb +7 -0
  24. data/lib/spree_client/models/store.rb +7 -0
  25. data/lib/spree_client/models/taxonomy.rb +5 -0
  26. data/lib/spree_client/models/variant.rb +7 -0
  27. metadata +73 -192
  28. data/.gitignore +0 -17
  29. data/.ruby-version +0 -1
  30. data/.travis.yml +0 -11
  31. data/CONTRIBUTING.md +0 -8
  32. data/Gemfile +0 -9
  33. data/LICENSE +0 -22
  34. data/Rakefile +0 -7
  35. data/fixtures/cassette_library/addresss.yml +0 -46
  36. data/fixtures/cassette_library/countries.yml +0 -52
  37. data/fixtures/cassette_library/orders.yml +0 -48
  38. data/fixtures/cassette_library/payments.yml +0 -48
  39. data/fixtures/cassette_library/products.yml +0 -66
  40. data/fixtures/cassette_library/properties.yml +0 -48
  41. data/fixtures/cassette_library/request.yml +0 -46
  42. data/fixtures/cassette_library/return_authorizations.yml +0 -48
  43. data/fixtures/cassette_library/shipment_ready.yml +0 -46
  44. data/fixtures/cassette_library/taxonomies.yml +0 -48
  45. data/fixtures/cassette_library/taxons.yml +0 -48
  46. data/fixtures/cassette_library/variants.yml +0 -63
  47. data/fixtures/cassette_library/zones.yml +0 -49
  48. data/lib/spree-api-client.rb +0 -49
  49. data/lib/spree-api-client/addresses.rb +0 -15
  50. data/lib/spree-api-client/connection.rb +0 -31
  51. data/lib/spree-api-client/countries.rb +0 -15
  52. data/lib/spree-api-client/error.rb +0 -47
  53. data/lib/spree-api-client/line_items.rb +0 -19
  54. data/lib/spree-api-client/orders.rb +0 -32
  55. data/lib/spree-api-client/payments.rb +0 -43
  56. data/lib/spree-api-client/products.rb +0 -31
  57. data/lib/spree-api-client/properties.rb +0 -31
  58. data/lib/spree-api-client/request.rb +0 -56
  59. data/lib/spree-api-client/return_authorizations.rb +0 -31
  60. data/lib/spree-api-client/shipments.rb +0 -15
  61. data/lib/spree-api-client/taxonomies.rb +0 -31
  62. data/lib/spree-api-client/taxons.rb +0 -27
  63. data/lib/spree-api-client/variants.rb +0 -31
  64. data/lib/spree-api-client/version.rb +0 -7
  65. data/lib/spree-api-client/zones.rb +0 -31
  66. data/spec/addresses_spec.rb +0 -12
  67. data/spec/client_spec.rb +0 -32
  68. data/spec/countries_spec.rb +0 -12
  69. data/spec/orders_spec.rb +0 -12
  70. data/spec/payments_spec.rb +0 -12
  71. data/spec/products_spec.rb +0 -12
  72. data/spec/properties_spec.rb +0 -12
  73. data/spec/return_authorizations_spec.rb +0 -12
  74. data/spec/shipments_spec.rb +0 -12
  75. data/spec/spec_helper.rb +0 -10
  76. data/spec/support/vcr.rb +0 -9
  77. data/spec/taxonomies_spec.rb +0 -12
  78. data/spec/taxons_spec.rb +0 -12
  79. data/spec/variants_spec.rb +0 -12
  80. data/spec/zones_spec.rb +0 -12
  81. data/spree-api-client.gemspec +0 -29
@@ -0,0 +1,16 @@
1
+ module SpreeClient
2
+ module API
3
+ class V1
4
+ # Stock Movements
5
+ # @see SpreeClient::API:V1::Resources
6
+ class StockMovements < Resources
7
+ ENDPOINT = '/api/v1/stock_locations/:stock_location_id/stock_movements'
8
+ RESOURCE = SpreeClient::Models::StockMovement
9
+ NAME = 'stock_movement'
10
+
11
+ def update(_); end
12
+ def destroy(_); end
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,12 @@
1
+ class SpreeClient
2
+ module API
3
+ class V1
4
+ # Taxonomies
5
+ # @see SpreeClient::API:V1::Resource
6
+ class Taxonomies < Resources
7
+ ENDPOINT = '/api/v1/taxonomies'
8
+ RESOURCE = Taxonomy
9
+ end
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,13 @@
1
+ module SpreeClient
2
+ module API
3
+ class V1
4
+ # Variants
5
+ # @see SpreeClient::API:V1::Resource
6
+ class Variants < Resources
7
+ ENDPOINT = '/api/v1/variants'
8
+ RESOURCE = SpreeClient::Models::Variant
9
+ NAME = 'variant'
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,26 @@
1
+ module SpreeClient
2
+ # @see Spree::PermittedAttributes
3
+ class Attributes
4
+ PRODUCT = %i[id name description available_on discontinue_on
5
+ permalink meta_description meta_keywords price sku
6
+ deleted_at prototype_id option_values_hash weight
7
+ height width depth shipping_category_id tax_category_id
8
+ cost_currency cost_price option_type_ids taxon_ids].freeze
9
+
10
+ VARIANT = %i[id name presentation cost_price discontinue_on
11
+ lock_version position track_inventory product_id
12
+ product option_values_attributes price weight height
13
+ width depth sku cost_currency options
14
+ option_value_ids].freeze
15
+
16
+ STOCK_LOCATION = %i[name active address1 address2 city zipcode
17
+ backorderable_default state_name state_id
18
+ country_id phone propagate_all_variants].freeze
19
+
20
+ STOCK_ITEM = %i[stock_location_id variant stock_location backorderable variant_id].freeze
21
+
22
+ STOCK_MOVEMENT = %i[id stock_location_id quantity stock_item
23
+ stock_item_id originator action].freeze
24
+
25
+ end
26
+ end
@@ -0,0 +1,5 @@
1
+ require_relative 'models/product'
2
+ require_relative 'models/variant'
3
+ require_relative 'models/stock_location'
4
+ require_relative 'models/stock_item'
5
+ require_relative 'models/stock_movement'
@@ -0,0 +1,7 @@
1
+ module SpreeClient
2
+ module Models
3
+ # @see Spree::Product
4
+ # @see SpreeClient::Attributes
5
+ Product = Struct.new *Attributes::PRODUCT, keyword_init: true
6
+ end
7
+ end
@@ -0,0 +1,6 @@
1
+ # @see Spree::Property
2
+ Property = Struct.new :id, :name, :presentation, keyword_init: true do
3
+ def to_s
4
+ 'property'.freeze
5
+ end
6
+ end
@@ -0,0 +1,7 @@
1
+ module SpreeClient
2
+ module Models
3
+ # @see Spree::StockItem
4
+ # @see SpreeClient::Attributes
5
+ StockItem = Struct.new *Attributes::STOCK_ITEM, keyword_init: true
6
+ end
7
+ end
@@ -0,0 +1,7 @@
1
+ module SpreeClient
2
+ module Models
3
+ # @see Spree::StockLocation
4
+ # @see SpreeClient::Attributes
5
+ StockLocation = Struct.new *Attributes::STOCK_LOCATION, keyword_init: true
6
+ end
7
+ end
@@ -0,0 +1,7 @@
1
+ module SpreeClient
2
+ module Models
3
+ # @see Spree::StockMovement
4
+ # @see SpreeClient::Attributes
5
+ StockMovement = Struct.new *Attributes::STOCK_MOVEMENT, keyword_init: true
6
+ end
7
+ end
@@ -0,0 +1,7 @@
1
+ # Stores are different frontends for the same backend.
2
+ #
3
+ # @see {https://guides.spreecommerce.org/user/configuration/configuring_multi_stores.html}
4
+ Store = Struct.new :id, :name, :url,
5
+ :seo_title, :meta_description, :meta_keywords,
6
+ :mail_from_address, :default_currency,
7
+ :facebook, :twitter, :instagram, keyword_init: true
@@ -0,0 +1,5 @@
1
+ Taxonomy = Struct.new :id, :name, keyword_init: true do
2
+ def to_s
3
+ 'taxonomy'.freeze
4
+ end
5
+ end
@@ -0,0 +1,7 @@
1
+ module SpreeClient
2
+ module Models
3
+ # @see Spree::Variant
4
+ # @see SpreeClient::Attributes
5
+ Variant = Struct.new *Attributes::VARIANT, keyword_init: true
6
+ end
7
+ end
metadata CHANGED
@@ -1,244 +1,125 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: spree-api-client
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
5
- prerelease:
4
+ version: 0.2.1
6
5
  platform: ruby
7
6
  authors:
8
- - Andrew Nesbitt
9
- autorequire:
7
+ - f
8
+ autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2013-08-15 00:00:00.000000000 Z
11
+ date: 2020-10-23 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
- name: faraday
14
+ name: httparty
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
- - - ~>
17
+ - - "~>"
20
18
  - !ruby/object:Gem::Version
21
- version: '0.8'
19
+ version: 0.18.0
22
20
  type: :runtime
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
- - - ~>
24
+ - - "~>"
28
25
  - !ruby/object:Gem::Version
29
- version: '0.8'
26
+ version: 0.18.0
30
27
  - !ruby/object:Gem::Dependency
31
- name: faraday_middleware
28
+ name: fast_blank
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
- - - ~>
31
+ - - "~>"
36
32
  - !ruby/object:Gem::Version
37
- version: '0.9'
33
+ version: '1'
38
34
  type: :runtime
39
35
  prerelease: false
40
36
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
37
  requirements:
43
- - - ~>
38
+ - - "~>"
44
39
  - !ruby/object:Gem::Version
45
- version: '0.9'
40
+ version: '1'
46
41
  - !ruby/object:Gem::Dependency
47
- name: hashie
42
+ name: pry
48
43
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
44
  requirements:
51
- - - ~>
52
- - !ruby/object:Gem::Version
53
- version: '1.2'
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: '1.2'
62
- - !ruby/object:Gem::Dependency
63
- name: multi_json
64
- requirement: !ruby/object:Gem::Requirement
65
- none: false
66
- requirements:
67
- - - ~>
68
- - !ruby/object:Gem::Version
69
- version: '1.4'
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: '1.4'
78
- - !ruby/object:Gem::Dependency
79
- name: webmock
80
- requirement: !ruby/object:Gem::Requirement
81
- none: false
82
- requirements:
83
- - - ! '>='
84
- - !ruby/object:Gem::Version
85
- version: '0'
86
- type: :development
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: vcr
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: rake
112
- requirement: !ruby/object:Gem::Requirement
113
- none: false
114
- requirements:
115
- - - ! '>='
45
+ - - ">="
116
46
  - !ruby/object:Gem::Version
117
47
  version: '0'
118
48
  type: :development
119
49
  prerelease: false
120
50
  version_requirements: !ruby/object:Gem::Requirement
121
- none: false
122
51
  requirements:
123
- - - ! '>='
52
+ - - ">="
124
53
  - !ruby/object:Gem::Version
125
54
  version: '0'
126
- - !ruby/object:Gem::Dependency
127
- name: rspec
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
- description: A rubygem for interacting with the Spree API
55
+ description: This is a work in progress!
143
56
  email:
144
- - andrewnez@gmail.com
57
+ - f@sutty.nl
145
58
  executables: []
146
59
  extensions: []
147
- extra_rdoc_files: []
60
+ extra_rdoc_files:
61
+ - README.md
62
+ - CHANGELOG.md
63
+ - LICENSE.txt
148
64
  files:
149
- - .gitignore
150
- - .ruby-version
151
- - .travis.yml
152
- - CONTRIBUTING.md
153
- - Gemfile
154
- - LICENSE
65
+ - CHANGELOG.md
66
+ - LICENSE.txt
67
+ - README.md
68
+ - lib/spree_client.rb
69
+ - lib/spree_client.rb~
70
+ - lib/spree_client/api.rb
71
+ - lib/spree_client/api/v1.rb
72
+ - lib/spree_client/api/v1/products.rb
73
+ - lib/spree_client/api/v1/properties.rb
74
+ - lib/spree_client/api/v1/resources.rb
75
+ - lib/spree_client/api/v1/stock_items.rb
76
+ - lib/spree_client/api/v1/stock_locations.rb
77
+ - lib/spree_client/api/v1/stock_movements.rb
78
+ - lib/spree_client/api/v1/taxonomies.rb
79
+ - lib/spree_client/api/v1/variants.rb
80
+ - lib/spree_client/attributes.rb
81
+ - lib/spree_client/models.rb
82
+ - lib/spree_client/models/product.rb
83
+ - lib/spree_client/models/property.rb
84
+ - lib/spree_client/models/stock_item.rb
85
+ - lib/spree_client/models/stock_location.rb
86
+ - lib/spree_client/models/stock_movement.rb
87
+ - lib/spree_client/models/store.rb
88
+ - lib/spree_client/models/taxonomy.rb
89
+ - lib/spree_client/models/variant.rb
90
+ homepage: https://0xacab.org/sutty/spree-api-client
91
+ licenses:
92
+ - GPL-3.0
93
+ metadata:
94
+ bug_tracker_uri: https://0xacab.org/sutty/spree-api-client/issues
95
+ homepage_uri: https://0xacab.org/sutty/spree-api-client
96
+ source_code_uri: https://0xacab.org/sutty/spree-api-client
97
+ changelog_uri: https://0xacab.org/sutty/spree-api-client/-/blob/master/CHANGELOG.md
98
+ documentation_uri: https://rubydoc.info/gems/spree-api-client
99
+ post_install_message:
100
+ rdoc_options:
101
+ - "--title"
102
+ - spree-api-client - Spree Ecommerce API client
103
+ - "--main"
155
104
  - README.md
156
- - Rakefile
157
- - fixtures/cassette_library/addresss.yml
158
- - fixtures/cassette_library/countries.yml
159
- - fixtures/cassette_library/orders.yml
160
- - fixtures/cassette_library/payments.yml
161
- - fixtures/cassette_library/products.yml
162
- - fixtures/cassette_library/properties.yml
163
- - fixtures/cassette_library/request.yml
164
- - fixtures/cassette_library/return_authorizations.yml
165
- - fixtures/cassette_library/shipment_ready.yml
166
- - fixtures/cassette_library/taxonomies.yml
167
- - fixtures/cassette_library/taxons.yml
168
- - fixtures/cassette_library/variants.yml
169
- - fixtures/cassette_library/zones.yml
170
- - lib/spree-api-client.rb
171
- - lib/spree-api-client/addresses.rb
172
- - lib/spree-api-client/connection.rb
173
- - lib/spree-api-client/countries.rb
174
- - lib/spree-api-client/error.rb
175
- - lib/spree-api-client/line_items.rb
176
- - lib/spree-api-client/orders.rb
177
- - lib/spree-api-client/payments.rb
178
- - lib/spree-api-client/products.rb
179
- - lib/spree-api-client/properties.rb
180
- - lib/spree-api-client/request.rb
181
- - lib/spree-api-client/return_authorizations.rb
182
- - lib/spree-api-client/shipments.rb
183
- - lib/spree-api-client/taxonomies.rb
184
- - lib/spree-api-client/taxons.rb
185
- - lib/spree-api-client/variants.rb
186
- - lib/spree-api-client/version.rb
187
- - lib/spree-api-client/zones.rb
188
- - spec/addresses_spec.rb
189
- - spec/client_spec.rb
190
- - spec/countries_spec.rb
191
- - spec/orders_spec.rb
192
- - spec/payments_spec.rb
193
- - spec/products_spec.rb
194
- - spec/properties_spec.rb
195
- - spec/return_authorizations_spec.rb
196
- - spec/shipments_spec.rb
197
- - spec/spec_helper.rb
198
- - spec/support/vcr.rb
199
- - spec/taxonomies_spec.rb
200
- - spec/taxons_spec.rb
201
- - spec/variants_spec.rb
202
- - spec/zones_spec.rb
203
- - spree-api-client.gemspec
204
- homepage: https://github.com/andrew/spree-api-client
205
- licenses: []
206
- post_install_message:
207
- rdoc_options: []
105
+ - "--line-numbers"
106
+ - "--inline-source"
107
+ - "--quiet"
208
108
  require_paths:
209
109
  - lib
210
110
  required_ruby_version: !ruby/object:Gem::Requirement
211
- none: false
212
111
  requirements:
213
- - - ! '>='
112
+ - - ">="
214
113
  - !ruby/object:Gem::Version
215
- version: '0'
114
+ version: 2.6.0
216
115
  required_rubygems_version: !ruby/object:Gem::Requirement
217
- none: false
218
116
  requirements:
219
- - - ! '>='
117
+ - - ">="
220
118
  - !ruby/object:Gem::Version
221
119
  version: '0'
222
120
  requirements: []
223
- rubyforge_project:
224
- rubygems_version: 1.8.23
225
- signing_key:
226
- specification_version: 3
227
- summary: A rubygem for interacting with the Spree API
228
- test_files:
229
- - spec/addresses_spec.rb
230
- - spec/client_spec.rb
231
- - spec/countries_spec.rb
232
- - spec/orders_spec.rb
233
- - spec/payments_spec.rb
234
- - spec/products_spec.rb
235
- - spec/properties_spec.rb
236
- - spec/return_authorizations_spec.rb
237
- - spec/shipments_spec.rb
238
- - spec/spec_helper.rb
239
- - spec/support/vcr.rb
240
- - spec/taxonomies_spec.rb
241
- - spec/taxons_spec.rb
242
- - spec/variants_spec.rb
243
- - spec/zones_spec.rb
244
- has_rdoc:
121
+ rubygems_version: 3.1.2
122
+ signing_key:
123
+ specification_version: 4
124
+ summary: Spree Ecommerce API client
125
+ test_files: []