spree_api 1.3.5 → 2.0.0.rc1

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 (91) hide show
  1. checksums.yaml +14 -6
  2. data/Rakefile +1 -1
  3. data/app/controllers/spree/api/addresses_controller.rb +0 -1
  4. data/app/controllers/spree/api/base_controller.rb +21 -9
  5. data/app/controllers/spree/api/checkouts_controller.rb +40 -20
  6. data/app/controllers/spree/api/countries_controller.rb +0 -1
  7. data/app/controllers/spree/api/inventory_units_controller.rb +1 -1
  8. data/app/controllers/spree/api/option_types_controller.rb +46 -0
  9. data/app/controllers/spree/api/option_values_controller.rb +56 -0
  10. data/app/controllers/spree/api/orders_controller.rb +1 -21
  11. data/app/controllers/spree/api/product_properties_controller.rb +0 -1
  12. data/app/controllers/spree/api/products_controller.rb +12 -27
  13. data/app/controllers/spree/api/properties_controller.rb +61 -0
  14. data/app/controllers/spree/api/shipments_controller.rb +51 -1
  15. data/app/controllers/spree/api/states_controller.rb +32 -0
  16. data/app/controllers/spree/api/stock_items_controller.rb +70 -0
  17. data/app/controllers/spree/api/stock_locations_controller.rb +45 -0
  18. data/app/controllers/spree/api/stock_movements_controller.rb +55 -0
  19. data/app/controllers/spree/api/taxonomies_controller.rb +5 -0
  20. data/app/controllers/spree/api/taxons_controller.rb +16 -2
  21. data/app/controllers/spree/api/variants_controller.rb +1 -1
  22. data/app/controllers/spree/api/zones_controller.rb +0 -1
  23. data/app/helpers/spree/api/api_helpers.rb +34 -7
  24. data/app/models/spree/api_configuration.rb +1 -2
  25. data/app/models/spree/line_item_decorator.rb +1 -1
  26. data/app/models/spree/order_decorator.rb +6 -169
  27. data/app/overrides/api_admin_user_edit_form.rb +7 -6
  28. data/app/views/spree/admin/users/_api_fields.html.erb +7 -8
  29. data/app/views/spree/api/addresses/show.v1.rabl +2 -2
  30. data/app/views/spree/api/adjustments/show.v1.rabl +2 -0
  31. data/app/views/spree/api/credit_cards/show.v1.rabl +2 -0
  32. data/app/views/spree/api/option_types/index.v1.rabl +3 -0
  33. data/app/views/spree/api/option_types/show.v1.rabl +5 -0
  34. data/app/views/spree/api/option_values/index.v1.rabl +3 -0
  35. data/app/views/spree/api/option_values/show.v1.rabl +2 -0
  36. data/app/views/spree/api/orders/could_not_apply_coupon.v1.rabl +2 -0
  37. data/app/views/spree/api/orders/delivery.v1.rabl +2 -2
  38. data/app/views/spree/api/orders/payment.v1.rabl +3 -0
  39. data/app/views/spree/api/orders/show.v1.rabl +8 -0
  40. data/app/views/spree/api/properties/index.v1.rabl +7 -0
  41. data/app/views/spree/api/properties/new.v1.rabl +2 -0
  42. data/app/views/spree/api/properties/show.v1.rabl +2 -0
  43. data/app/views/spree/api/shared/stock_location_required.v1.rabl +2 -0
  44. data/app/views/spree/api/shipments/show.v1.rabl +7 -0
  45. data/app/views/spree/api/states/index.v1.rabl +14 -0
  46. data/app/views/spree/api/states/show.v1.rabl +2 -0
  47. data/app/views/spree/api/stock_items/index.v1.rabl +7 -0
  48. data/app/views/spree/api/stock_items/show.v1.rabl +5 -0
  49. data/app/views/spree/api/stock_locations/index.v1.rabl +7 -0
  50. data/app/views/spree/api/stock_locations/show.v1.rabl +8 -0
  51. data/app/views/spree/api/stock_movements/index.v1.rabl +7 -0
  52. data/app/views/spree/api/stock_movements/show.v1.rabl +5 -0
  53. data/app/views/spree/api/taxonomies/jstree.rabl +8 -0
  54. data/app/views/spree/api/taxons/jstree.rabl +8 -0
  55. data/app/views/spree/api/variants/index.v1.rabl +14 -1
  56. data/app/views/spree/api/variants/variant.v1.rabl +0 -4
  57. data/config/locales/en.yml +1 -0
  58. data/config/routes.rb +29 -3
  59. data/lib/spree/api.rb +0 -2
  60. data/lib/spree/api/controller_setup.rb +6 -1
  61. data/lib/spree/api/testing_support/helpers.rb +1 -1
  62. data/lib/spree/api/testing_support/setup.rb +13 -0
  63. data/spec/controllers/spree/api/base_controller_spec.rb +14 -1
  64. data/spec/controllers/spree/api/checkouts_controller_spec.rb +59 -28
  65. data/spec/controllers/spree/api/line_items_controller_spec.rb +1 -5
  66. data/spec/controllers/spree/api/option_types_controller_spec.rb +116 -0
  67. data/spec/controllers/spree/api/option_values_controller_spec.rb +128 -0
  68. data/spec/controllers/spree/api/orders_controller_spec.rb +11 -93
  69. data/spec/controllers/spree/api/product_properties_controller_spec.rb +2 -2
  70. data/spec/controllers/spree/api/products_controller_spec.rb +18 -76
  71. data/spec/controllers/spree/api/properties_controller_spec.rb +89 -0
  72. data/spec/controllers/spree/api/return_authorizations_controller_spec.rb +1 -9
  73. data/spec/controllers/spree/api/shipments_controller_spec.rb +80 -5
  74. data/spec/controllers/spree/api/states_controller_spec.rb +76 -0
  75. data/spec/controllers/spree/api/stock_items_controller_spec.rb +88 -0
  76. data/spec/controllers/spree/api/stock_locations_controller_spec.rb +86 -0
  77. data/spec/controllers/spree/api/stock_movements_controller_spec.rb +72 -0
  78. data/spec/controllers/spree/api/taxonomies_controller_spec.rb +7 -0
  79. data/spec/controllers/spree/api/taxons_controller_spec.rb +29 -2
  80. data/spec/controllers/spree/api/unauthenticated_products_controller_spec.rb +1 -1
  81. data/spec/controllers/spree/api/variants_controller_spec.rb +5 -16
  82. data/spec/fixtures/thinking-cat.jpg +0 -0
  83. data/spec/models/spree/order_spec.rb +7 -328
  84. data/spec/spec_helper.rb +18 -2
  85. data/spree_api.gemspec +2 -1
  86. metadata +67 -16
  87. data/.rspec +0 -1
  88. data/app/controllers/spree/base_controller_decorator.rb +0 -15
  89. data/app/overrides/api_key_spree_layout.rb +0 -7
  90. data/app/views/spree/api/_key.html.erb +0 -4
  91. data/db/migrate/20131017162334_add_index_to_user_spree_api_key.rb +0 -7
data/spec/spec_helper.rb CHANGED
@@ -1,3 +1,16 @@
1
+ if ENV["COVERAGE"]
2
+ # Run Coverage report
3
+ require 'simplecov'
4
+ SimpleCov.start do
5
+ add_group 'Controllers', 'app/controllers'
6
+ add_group 'Helpers', 'app/helpers'
7
+ add_group 'Mailers', 'app/mailers'
8
+ add_group 'Models', 'app/models'
9
+ add_group 'Views', 'app/views'
10
+ add_group 'Libraries', 'lib'
11
+ end
12
+ end
13
+
1
14
  # This file is copied to spec/ when you run 'rails generate rspec:install'
2
15
  ENV["RAILS_ENV"] ||= 'test'
3
16
  require File.expand_path("../dummy/config/environment", __FILE__)
@@ -8,7 +21,8 @@ require 'rspec/autorun'
8
21
  # in spec/support/ and its subdirectories.
9
22
  Dir[File.dirname(__FILE__) + "/support/**/*.rb"].each {|f| require f}
10
23
 
11
- require 'spree/core/testing_support/factories'
24
+ require 'spree/testing_support/factories'
25
+ require 'spree/testing_support/preferences'
12
26
 
13
27
  require 'spree/api/testing_support/helpers'
14
28
  require 'spree/api/testing_support/setup'
@@ -20,9 +34,11 @@ RSpec.configure do |config|
20
34
  config.include FactoryGirl::Syntax::Methods
21
35
  config.include Spree::Api::TestingSupport::Helpers, :type => :controller
22
36
  config.extend Spree::Api::TestingSupport::Setup, :type => :controller
23
- config.include Spree::Core::TestingSupport::Preferences, :type => :controller
37
+ config.include Spree::TestingSupport::Preferences, :type => :controller
24
38
 
25
39
  config.before do
26
40
  Spree::Api::Config[:requires_authentication] = true
27
41
  end
42
+
43
+ config.fail_fast = ENV['FAIL_FAST'] || false
28
44
  end
data/spree_api.gemspec CHANGED
@@ -16,5 +16,6 @@ Gem::Specification.new do |gem|
16
16
  gem.version = version
17
17
 
18
18
  gem.add_dependency 'spree_core', version
19
- gem.add_dependency 'versioncake', '0.4.0'
19
+ gem.add_dependency 'rabl', '0.8.4'
20
+ gem.add_dependency 'versioncake', '1.0.0'
20
21
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: spree_api
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.5
4
+ version: 2.0.0.rc1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ryan Bigg
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-01-23 00:00:00.000000000 Z
11
+ date: 2013-05-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: spree_core
@@ -16,28 +16,42 @@ dependencies:
16
16
  requirements:
17
17
  - - '='
18
18
  - !ruby/object:Gem::Version
19
- version: 1.3.5
19
+ version: 2.0.0.rc1
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
- version: 1.3.5
26
+ version: 2.0.0.rc1
27
+ - !ruby/object:Gem::Dependency
28
+ name: rabl
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - '='
32
+ - !ruby/object:Gem::Version
33
+ version: 0.8.4
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - '='
39
+ - !ruby/object:Gem::Version
40
+ version: 0.8.4
27
41
  - !ruby/object:Gem::Dependency
28
42
  name: versioncake
29
43
  requirement: !ruby/object:Gem::Requirement
30
44
  requirements:
31
45
  - - '='
32
46
  - !ruby/object:Gem::Version
33
- version: 0.4.0
47
+ version: 1.0.0
34
48
  type: :runtime
35
49
  prerelease: false
36
50
  version_requirements: !ruby/object:Gem::Requirement
37
51
  requirements:
38
52
  - - '='
39
53
  - !ruby/object:Gem::Version
40
- version: 0.4.0
54
+ version: 1.0.0
41
55
  description: Spree's API
42
56
  email:
43
57
  - ryan@spreecommerce.com
@@ -45,8 +59,7 @@ executables: []
45
59
  extensions: []
46
60
  extra_rdoc_files: []
47
61
  files:
48
- - ".gitignore"
49
- - ".rspec"
62
+ - .gitignore
50
63
  - Gemfile
51
64
  - LICENSE
52
65
  - Rakefile
@@ -57,18 +70,24 @@ files:
57
70
  - app/controllers/spree/api/images_controller.rb
58
71
  - app/controllers/spree/api/inventory_units_controller.rb
59
72
  - app/controllers/spree/api/line_items_controller.rb
73
+ - app/controllers/spree/api/option_types_controller.rb
74
+ - app/controllers/spree/api/option_values_controller.rb
60
75
  - app/controllers/spree/api/orders_controller.rb
61
76
  - app/controllers/spree/api/payments_controller.rb
62
77
  - app/controllers/spree/api/product_properties_controller.rb
63
78
  - app/controllers/spree/api/products_controller.rb
79
+ - app/controllers/spree/api/properties_controller.rb
64
80
  - app/controllers/spree/api/return_authorizations_controller.rb
65
81
  - app/controllers/spree/api/shipments_controller.rb
82
+ - app/controllers/spree/api/states_controller.rb
83
+ - app/controllers/spree/api/stock_items_controller.rb
84
+ - app/controllers/spree/api/stock_locations_controller.rb
85
+ - app/controllers/spree/api/stock_movements_controller.rb
66
86
  - app/controllers/spree/api/taxonomies_controller.rb
67
87
  - app/controllers/spree/api/taxons_controller.rb
68
88
  - app/controllers/spree/api/users_controller.rb
69
89
  - app/controllers/spree/api/variants_controller.rb
70
90
  - app/controllers/spree/api/zones_controller.rb
71
- - app/controllers/spree/base_controller_decorator.rb
72
91
  - app/helpers/spree/api/api_helpers.rb
73
92
  - app/models/spree/api_configuration.rb
74
93
  - app/models/spree/line_item_decorator.rb
@@ -76,12 +95,12 @@ files:
76
95
  - app/models/spree/order_decorator.rb
77
96
  - app/models/spree/user_decorator.rb
78
97
  - app/overrides/api_admin_user_edit_form.rb
79
- - app/overrides/api_key_spree_layout.rb
80
98
  - app/views/spree/admin/users/_api_fields.html.erb
81
- - app/views/spree/api/_key.html.erb
82
99
  - app/views/spree/api/addresses/show.v1.rabl
100
+ - app/views/spree/api/adjustments/show.v1.rabl
83
101
  - app/views/spree/api/countries/index.v1.rabl
84
102
  - app/views/spree/api/countries/show.v1.rabl
103
+ - app/views/spree/api/credit_cards/show.v1.rabl
85
104
  - app/views/spree/api/errors/gateway_error.v1.rabl
86
105
  - app/views/spree/api/errors/invalid_api_key.v1.rabl
87
106
  - app/views/spree/api/errors/invalid_resource.v1.rabl
@@ -92,10 +111,15 @@ files:
92
111
  - app/views/spree/api/inventory_units/show.rabl
93
112
  - app/views/spree/api/line_items/new.v1.rabl
94
113
  - app/views/spree/api/line_items/show.v1.rabl
114
+ - app/views/spree/api/option_types/index.v1.rabl
115
+ - app/views/spree/api/option_types/show.v1.rabl
116
+ - app/views/spree/api/option_values/index.v1.rabl
117
+ - app/views/spree/api/option_values/show.v1.rabl
95
118
  - app/views/spree/api/orders/address.v1.rabl
96
119
  - app/views/spree/api/orders/canceled.v1.rabl
97
120
  - app/views/spree/api/orders/cart.v1.rabl
98
121
  - app/views/spree/api/orders/complete.v1.rabl
122
+ - app/views/spree/api/orders/could_not_apply_coupon.v1.rabl
99
123
  - app/views/spree/api/orders/could_not_transition.v1.rabl
100
124
  - app/views/spree/api/orders/delivery.v1.rabl
101
125
  - app/views/spree/api/orders/index.v1.rabl
@@ -113,16 +137,30 @@ files:
113
137
  - app/views/spree/api/products/new.v1.rabl
114
138
  - app/views/spree/api/products/product.v1.rabl
115
139
  - app/views/spree/api/products/show.v1.rabl
140
+ - app/views/spree/api/properties/index.v1.rabl
141
+ - app/views/spree/api/properties/new.v1.rabl
142
+ - app/views/spree/api/properties/show.v1.rabl
116
143
  - app/views/spree/api/return_authorizations/index.v1.rabl
117
144
  - app/views/spree/api/return_authorizations/new.v1.rabl
118
145
  - app/views/spree/api/return_authorizations/show.v1.rabl
146
+ - app/views/spree/api/shared/stock_location_required.v1.rabl
119
147
  - app/views/spree/api/shipments/cannot_ready_shipment.v1.rabl
120
148
  - app/views/spree/api/shipments/show.v1.rabl
149
+ - app/views/spree/api/states/index.v1.rabl
150
+ - app/views/spree/api/states/show.v1.rabl
151
+ - app/views/spree/api/stock_items/index.v1.rabl
152
+ - app/views/spree/api/stock_items/show.v1.rabl
153
+ - app/views/spree/api/stock_locations/index.v1.rabl
154
+ - app/views/spree/api/stock_locations/show.v1.rabl
155
+ - app/views/spree/api/stock_movements/index.v1.rabl
156
+ - app/views/spree/api/stock_movements/show.v1.rabl
121
157
  - app/views/spree/api/taxonomies/index.v1.rabl
158
+ - app/views/spree/api/taxonomies/jstree.rabl
122
159
  - app/views/spree/api/taxonomies/nested.v1.rabl
123
160
  - app/views/spree/api/taxonomies/new.v1.rabl
124
161
  - app/views/spree/api/taxonomies/show.v1.rabl
125
162
  - app/views/spree/api/taxons/index.v1.rabl
163
+ - app/views/spree/api/taxons/jstree.rabl
126
164
  - app/views/spree/api/taxons/new.v1.rabl
127
165
  - app/views/spree/api/taxons/show.v1.rabl
128
166
  - app/views/spree/api/taxons/taxons.v1.rabl
@@ -141,7 +179,6 @@ files:
141
179
  - db/migrate/20100107141738_add_api_key_to_spree_users.rb
142
180
  - db/migrate/20120411123334_resize_api_key_field.rb
143
181
  - db/migrate/20120530054546_rename_api_key_to_spree_api_key.rb
144
- - db/migrate/20131017162334_add_index_to_user_spree_api_key.rb
145
182
  - lib/spree/api.rb
146
183
  - lib/spree/api/controller_setup.rb
147
184
  - lib/spree/api/engine.rb
@@ -159,12 +196,19 @@ files:
159
196
  - spec/controllers/spree/api/images_controller_spec.rb
160
197
  - spec/controllers/spree/api/inventory_units_controller_spec.rb
161
198
  - spec/controllers/spree/api/line_items_controller_spec.rb
199
+ - spec/controllers/spree/api/option_types_controller_spec.rb
200
+ - spec/controllers/spree/api/option_values_controller_spec.rb
162
201
  - spec/controllers/spree/api/orders_controller_spec.rb
163
202
  - spec/controllers/spree/api/payments_controller_spec.rb
164
203
  - spec/controllers/spree/api/product_properties_controller_spec.rb
165
204
  - spec/controllers/spree/api/products_controller_spec.rb
205
+ - spec/controllers/spree/api/properties_controller_spec.rb
166
206
  - spec/controllers/spree/api/return_authorizations_controller_spec.rb
167
207
  - spec/controllers/spree/api/shipments_controller_spec.rb
208
+ - spec/controllers/spree/api/states_controller_spec.rb
209
+ - spec/controllers/spree/api/stock_items_controller_spec.rb
210
+ - spec/controllers/spree/api/stock_locations_controller_spec.rb
211
+ - spec/controllers/spree/api/stock_movements_controller_spec.rb
168
212
  - spec/controllers/spree/api/taxonomies_controller_spec.rb
169
213
  - spec/controllers/spree/api/taxons_controller_spec.rb
170
214
  - spec/controllers/spree/api/unauthenticated_products_controller_spec.rb
@@ -189,17 +233,17 @@ require_paths:
189
233
  - lib
190
234
  required_ruby_version: !ruby/object:Gem::Requirement
191
235
  requirements:
192
- - - ">="
236
+ - - ! '>='
193
237
  - !ruby/object:Gem::Version
194
238
  version: '0'
195
239
  required_rubygems_version: !ruby/object:Gem::Requirement
196
240
  requirements:
197
- - - ">="
241
+ - - ! '>'
198
242
  - !ruby/object:Gem::Version
199
- version: '0'
243
+ version: 1.3.1
200
244
  requirements: []
201
245
  rubyforge_project:
202
- rubygems_version: 2.2.0
246
+ rubygems_version: 2.0.3
203
247
  signing_key:
204
248
  specification_version: 4
205
249
  summary: Spree's API
@@ -211,12 +255,19 @@ test_files:
211
255
  - spec/controllers/spree/api/images_controller_spec.rb
212
256
  - spec/controllers/spree/api/inventory_units_controller_spec.rb
213
257
  - spec/controllers/spree/api/line_items_controller_spec.rb
258
+ - spec/controllers/spree/api/option_types_controller_spec.rb
259
+ - spec/controllers/spree/api/option_values_controller_spec.rb
214
260
  - spec/controllers/spree/api/orders_controller_spec.rb
215
261
  - spec/controllers/spree/api/payments_controller_spec.rb
216
262
  - spec/controllers/spree/api/product_properties_controller_spec.rb
217
263
  - spec/controllers/spree/api/products_controller_spec.rb
264
+ - spec/controllers/spree/api/properties_controller_spec.rb
218
265
  - spec/controllers/spree/api/return_authorizations_controller_spec.rb
219
266
  - spec/controllers/spree/api/shipments_controller_spec.rb
267
+ - spec/controllers/spree/api/states_controller_spec.rb
268
+ - spec/controllers/spree/api/stock_items_controller_spec.rb
269
+ - spec/controllers/spree/api/stock_locations_controller_spec.rb
270
+ - spec/controllers/spree/api/stock_movements_controller_spec.rb
220
271
  - spec/controllers/spree/api/taxonomies_controller_spec.rb
221
272
  - spec/controllers/spree/api/taxons_controller_spec.rb
222
273
  - spec/controllers/spree/api/unauthenticated_products_controller_spec.rb
data/.rspec DELETED
@@ -1 +0,0 @@
1
- --colour
@@ -1,15 +0,0 @@
1
- require_dependency 'spree/base_controller'
2
-
3
- Spree::BaseController.class_eval do
4
- before_filter :ensure_api_key
5
-
6
- # Need to generate an API key for a user due to some actions potentially
7
- # requiring authentication to the Spree API
8
- def ensure_api_key
9
- if user = try_spree_current_user
10
- if user.respond_to?(:spree_api_key) && user.spree_api_key.blank?
11
- user.generate_spree_api_key!
12
- end
13
- end
14
- end
15
- end
@@ -1,7 +0,0 @@
1
- Deface::Override.new(:virtual_path => "spree/layouts/spree_application",
2
- :name => "api_key_spree_layout",
3
- :insert_bottom => "body",
4
- :partial => "spree/api/key",
5
- :disabled => false,
6
- :original => "eb4b04993e8e4d1c20a7c3d974dfed20b59aec4c")
7
-
@@ -1,4 +0,0 @@
1
- <script>
2
- Spree.api_key = <%= raw(try_spree_current_user.try(:spree_api_key).to_s.inspect) %>;
3
- </script>
4
-
@@ -1,7 +0,0 @@
1
- class AddIndexToUserSpreeApiKey < ActiveRecord::Migration
2
- def change
3
- unless defined?(User)
4
- add_index :spree_users, :spree_api_key
5
- end
6
- end
7
- end