spree_api 2.4.10 → 3.0.0.rc1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/LICENSE +1 -2
- data/app/controllers/spree/api/base_controller.rb +9 -3
- data/app/controllers/spree/api/checkouts_controller.rb +4 -4
- data/app/controllers/spree/api/countries_controller.rb +3 -3
- data/app/controllers/spree/api/images_controller.rb +2 -2
- data/app/controllers/spree/api/inventory_units_controller.rb +1 -1
- data/app/controllers/spree/api/option_values_controller.rb +1 -1
- data/app/controllers/spree/api/orders_controller.rb +6 -14
- data/app/controllers/spree/api/payments_controller.rb +5 -5
- data/app/controllers/spree/api/product_properties_controller.rb +1 -1
- data/app/controllers/spree/api/products_controller.rb +5 -5
- data/app/controllers/spree/api/properties_controller.rb +2 -2
- data/app/controllers/spree/api/return_authorizations_controller.rb +4 -4
- data/app/controllers/spree/api/shipments_controller.rb +4 -4
- data/app/controllers/spree/api/states_controller.rb +2 -2
- data/app/controllers/spree/api/stock_items_controller.rb +4 -4
- data/app/controllers/spree/api/stock_locations_controller.rb +5 -5
- data/app/controllers/spree/api/stock_movements_controller.rb +3 -3
- data/app/controllers/spree/api/stores_controller.rb +5 -5
- data/app/controllers/spree/api/taxonomies_controller.rb +4 -4
- data/app/controllers/spree/api/taxons_controller.rb +3 -3
- data/app/controllers/spree/api/users_controller.rb +3 -3
- data/app/controllers/spree/api/variants_controller.rb +3 -3
- data/app/controllers/spree/api/zones_controller.rb +7 -4
- data/app/helpers/spree/api/api_helpers.rb +1 -1
- data/app/views/spree/api/config/money.v1.rabl +0 -4
- data/app/views/spree/api/orders/payment.v1.rabl +1 -1
- data/app/views/spree/api/orders/show.v1.rabl +5 -1
- data/app/views/spree/api/products/show.v1.rabl +1 -0
- data/app/views/spree/api/taxonomies/show.v1.rabl +2 -2
- data/app/views/spree/api/variants/big.v1.rabl +6 -0
- data/app/views/spree/api/variants/small.v1.rabl +0 -1
- data/config/routes.rb +5 -1
- data/lib/spree/api/responders/rabl_template.rb +3 -4
- data/lib/spree/api/testing_support/helpers.rb +1 -1
- data/spec/controllers/spree/api/base_controller_spec.rb +16 -2
- data/spec/controllers/spree/api/config_controller_spec.rb +1 -5
- data/spec/controllers/spree/api/line_items_controller_spec.rb +3 -4
- data/spec/controllers/spree/api/orders_controller_spec.rb +1 -28
- data/spec/controllers/spree/api/payments_controller_spec.rb +21 -26
- data/spec/controllers/spree/api/product_properties_controller_spec.rb +1 -1
- data/spec/controllers/spree/api/products_controller_spec.rb +54 -7
- data/spec/controllers/spree/api/return_authorizations_controller_spec.rb +2 -2
- data/spec/controllers/spree/api/stock_items_controller_spec.rb +4 -2
- data/spec/controllers/spree/api/stock_movements_controller_spec.rb +0 -6
- data/spec/controllers/spree/api/users_controller_spec.rb +17 -17
- data/spec/controllers/spree/api/variants_controller_spec.rb +2 -5
- data/spec/controllers/spree/api/zones_controller_spec.rb +26 -0
- data/spec/spec_helper.rb +3 -4
- data/spec/support/controller_hacks.rb +7 -5
- data/spree_api.gemspec +2 -1
- metadata +9 -10
- data/spec/requests/ransackable_attributes_spec.rb +0 -79
@@ -6,7 +6,7 @@ module Spree
|
|
6
6
|
let!(:order) { create(:order) }
|
7
7
|
let!(:payment) { create(:payment, :order => order) }
|
8
8
|
let!(:attributes) { [:id, :source_type, :source_id, :amount, :display_amount,
|
9
|
-
:payment_method_id, :state, :avs_response,
|
9
|
+
:payment_method_id, :response_code, :state, :avs_response,
|
10
10
|
:created_at, :updated_at] }
|
11
11
|
|
12
12
|
let(:resource_scoping) { { :order_id => order.to_param } }
|
@@ -82,7 +82,7 @@ module Spree
|
|
82
82
|
end
|
83
83
|
|
84
84
|
context "multiple payments" do
|
85
|
-
before { @payment = create(:payment, :order => order) }
|
85
|
+
before { @payment = create(:payment, :order => order, :response_code => '99999') }
|
86
86
|
|
87
87
|
it "can view all payments on an order" do
|
88
88
|
api_get :index
|
@@ -95,41 +95,36 @@ module Spree
|
|
95
95
|
expect(json_response['current_page']).to eq(1)
|
96
96
|
expect(json_response['pages']).to eq(2)
|
97
97
|
end
|
98
|
+
|
99
|
+
it 'can query the results through a paramter' do
|
100
|
+
api_get :index, :q => { :response_code_cont => '999' }
|
101
|
+
expect(json_response['count']).to eq(1)
|
102
|
+
expect(json_response['payments'].first['response_code']).to eq @payment.response_code
|
103
|
+
end
|
98
104
|
end
|
99
105
|
|
100
106
|
context "for a given payment" do
|
101
107
|
context "updating" do
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
expect(payment.reload.amount).to eq(2.01)
|
108
|
-
end
|
109
|
-
end
|
110
|
-
|
111
|
-
context "when the state is pending" do
|
112
|
-
it "can update" do
|
113
|
-
payment.update_attributes(state: 'pending')
|
114
|
-
api_put(:update, id: payment.to_param, payment: { amount: 2.01 })
|
115
|
-
expect(response.status).to be(200)
|
116
|
-
expect(payment.reload.amount).to eq(2.01)
|
117
|
-
end
|
108
|
+
it "can update" do
|
109
|
+
payment.update_attributes(:state => 'pending')
|
110
|
+
api_put :update, :id => payment.to_param, :payment => { :amount => 2.01 }
|
111
|
+
expect(response.status).to eq(200)
|
112
|
+
expect(payment.reload.amount).to eq(2.01)
|
118
113
|
end
|
119
114
|
|
120
115
|
context "update fails" do
|
121
116
|
it "returns a 422 status when the amount is invalid" do
|
122
|
-
payment.update_attributes(state
|
123
|
-
api_put
|
124
|
-
expect(response.status).to
|
125
|
-
expect(json_response[
|
117
|
+
payment.update_attributes(:state => 'pending')
|
118
|
+
api_put :update, :id => payment.to_param, :payment => { :amount => 'invalid' }
|
119
|
+
expect(response.status).to eq(422)
|
120
|
+
expect(json_response["error"]).to eq("Invalid resource. Please fix errors and try again.")
|
126
121
|
end
|
127
122
|
|
128
123
|
it "returns a 403 status when the payment is not pending" do
|
129
|
-
payment.update_attributes(state
|
130
|
-
api_put
|
131
|
-
expect(response.status).to
|
132
|
-
expect(json_response[
|
124
|
+
payment.update_attributes(:state => 'completed')
|
125
|
+
api_put :update, :id => payment.to_param, :payment => { :amount => 2.01 }
|
126
|
+
expect(response.status).to eq(403)
|
127
|
+
expect(json_response["error"]).to eq("This payment cannot be updated because it is completed.")
|
133
128
|
end
|
134
129
|
end
|
135
130
|
end
|
@@ -70,7 +70,7 @@ module Spree
|
|
70
70
|
end
|
71
71
|
|
72
72
|
it "cannot delete a product property" do
|
73
|
-
api_delete :destroy, :property_name => property_1.property_name
|
73
|
+
api_delete :destroy, id: property_1.to_param, :property_name => property_1.property_name
|
74
74
|
assert_unauthorized!
|
75
75
|
expect { property_1.reload }.not_to raise_error
|
76
76
|
end
|
@@ -67,6 +67,45 @@ module Spree
|
|
67
67
|
expect(json_response["per_page"]).to eq(Kaminari.config.default_per_page)
|
68
68
|
end
|
69
69
|
|
70
|
+
context "specifying a rabl template for a custom action" do
|
71
|
+
before do
|
72
|
+
Spree::Api::ProductsController.class_eval do
|
73
|
+
def custom_show
|
74
|
+
@product = find_product(params[:id])
|
75
|
+
respond_with(@product)
|
76
|
+
end
|
77
|
+
end
|
78
|
+
end
|
79
|
+
|
80
|
+
def set_custom_route
|
81
|
+
@routes = ActionDispatch::Routing::RouteSet.new.tap do |r|
|
82
|
+
r.draw { get 'custom_show' => 'spree/api/products#custom_show' }
|
83
|
+
end
|
84
|
+
end
|
85
|
+
|
86
|
+
it "uses the specified custom template through the request header" do
|
87
|
+
set_custom_route
|
88
|
+
|
89
|
+
request.headers['X-Spree-Template'] = 'show'
|
90
|
+
api_get :custom_show, :id => product.id
|
91
|
+
expect(response).to render_template('spree/api/products/show')
|
92
|
+
end
|
93
|
+
|
94
|
+
it "uses the specified custom template through the template URL parameter" do
|
95
|
+
set_custom_route
|
96
|
+
|
97
|
+
api_get :custom_show, :id => product.id, :template => 'show'
|
98
|
+
expect(response).to render_template('spree/api/products/show')
|
99
|
+
end
|
100
|
+
|
101
|
+
it "falls back to the default template if the specified template does not exist" do
|
102
|
+
request.headers['X-Spree-Template'] = 'invoice'
|
103
|
+
|
104
|
+
api_get :show, :id => product.id
|
105
|
+
expect(response).to render_template('spree/api/products/show')
|
106
|
+
end
|
107
|
+
end
|
108
|
+
|
70
109
|
context "product has more than one price" do
|
71
110
|
before { product.master.prices.create currency: "EUR", amount: 22 }
|
72
111
|
|
@@ -117,6 +156,21 @@ module Spree
|
|
117
156
|
end
|
118
157
|
end
|
119
158
|
|
159
|
+
context "jsonp" do
|
160
|
+
it "retrieves a list of products of jsonp" do
|
161
|
+
api_get :index, {:callback => 'callback'}
|
162
|
+
expect(response.body).to match(/^callback\(.*\)$/)
|
163
|
+
expect(response.header['Content-Type']).to include('application/javascript')
|
164
|
+
end
|
165
|
+
|
166
|
+
# Regression test for #4332
|
167
|
+
it "does not escape quotes" do
|
168
|
+
api_get :index, {:callback => 'callback'}
|
169
|
+
expect(response.body).to match(/^callback\({"count":1,"total_count":1/)
|
170
|
+
expect(response.header['Content-Type']).to include('application/javascript')
|
171
|
+
end
|
172
|
+
end
|
173
|
+
|
120
174
|
it "can search for products" do
|
121
175
|
create(:product, :name => "The best product in the world")
|
122
176
|
api_get :index, :q => { :name_cont => "best" }
|
@@ -287,13 +341,6 @@ module Spree
|
|
287
341
|
expect(json_response['option_types'].count).to eq(2)
|
288
342
|
end
|
289
343
|
|
290
|
-
it "creates product with option_types ids" do
|
291
|
-
option_type = create(:option_type)
|
292
|
-
product_data.merge!(option_type_ids: [option_type.id])
|
293
|
-
api_post :create, product: product_data
|
294
|
-
expect(json_response['option_types'].first['id']).to eq option_type.id
|
295
|
-
end
|
296
|
-
|
297
344
|
it "creates with shipping categories" do
|
298
345
|
hash = { :name => "The Other Product",
|
299
346
|
:price => 19.99,
|
@@ -40,12 +40,12 @@ module Spree
|
|
40
40
|
end
|
41
41
|
|
42
42
|
it "cannot update a return authorization" do
|
43
|
-
api_put :update
|
43
|
+
api_put :update, id: 1
|
44
44
|
assert_not_found!
|
45
45
|
end
|
46
46
|
|
47
47
|
it "cannot delete a return authorization" do
|
48
|
-
api_delete :destroy
|
48
|
+
api_delete :destroy, id: 1
|
49
49
|
assert_not_found!
|
50
50
|
end
|
51
51
|
end
|
@@ -39,12 +39,14 @@ module Spree
|
|
39
39
|
end
|
40
40
|
|
41
41
|
it "cannot update a stock item" do
|
42
|
-
api_put :update, stock_location_id: stock_location.to_param,
|
42
|
+
api_put :update, stock_location_id: stock_location.to_param,
|
43
|
+
id: stock_item.to_param
|
43
44
|
expect(response.status).to eq(404)
|
44
45
|
end
|
45
46
|
|
46
47
|
it "cannot destroy a stock item" do
|
47
|
-
api_delete :destroy, stock_location_id: stock_location.to_param,
|
48
|
+
api_delete :destroy, stock_location_id: stock_location.to_param,
|
49
|
+
id: stock_item.to_param
|
48
50
|
expect(response.status).to eq(404)
|
49
51
|
end
|
50
52
|
end
|
@@ -46,12 +46,6 @@ module Spree
|
|
46
46
|
expect(json_response['stock_movements'].first['stock_item']['count_on_hand']).to eq 11
|
47
47
|
end
|
48
48
|
|
49
|
-
it 'requires a stock_location_id to be passed as a parameter' do
|
50
|
-
api_get :index
|
51
|
-
expect(json_response['error']).to match(/stock_location_id parameter must be provided/)
|
52
|
-
expect(response.status).to eq(422)
|
53
|
-
end
|
54
|
-
|
55
49
|
it 'can control the page size through a parameter' do
|
56
50
|
create(:stock_movement, stock_item: stock_item)
|
57
51
|
api_get :index, stock_location_id: stock_location.to_param, per_page: 1
|
@@ -4,40 +4,42 @@ module Spree
|
|
4
4
|
describe Api::UsersController, :type => :controller do
|
5
5
|
render_views
|
6
6
|
|
7
|
-
let(:user) { create(:user
|
7
|
+
let(:user) { create(:user) }
|
8
8
|
let(:stranger) { create(:user, :email => 'stranger@example.com') }
|
9
9
|
let(:attributes) { [:id, :email, :created_at, :updated_at] }
|
10
10
|
|
11
|
+
before { stub_authentication! }
|
12
|
+
|
11
13
|
context "as a normal user" do
|
14
|
+
before do
|
15
|
+
allow(controller).to receive_messages :try_spree_current_user => user
|
16
|
+
end
|
17
|
+
|
12
18
|
it "can get own details" do
|
13
|
-
api_get :show,
|
19
|
+
api_get :show, :id => user.id
|
14
20
|
|
15
21
|
expect(json_response['email']).to eq user.email
|
16
22
|
end
|
17
23
|
|
18
24
|
it "cannot get other users details" do
|
19
|
-
api_get :show, id
|
25
|
+
api_get :show, :id => stranger.id
|
20
26
|
|
21
27
|
assert_not_found!
|
22
28
|
end
|
23
29
|
|
24
30
|
it "can learn how to create a new user" do
|
25
|
-
api_get :new
|
31
|
+
api_get :new
|
26
32
|
expect(json_response["attributes"]).to eq(attributes.map(&:to_s))
|
27
33
|
end
|
28
34
|
|
29
35
|
it "can create a new user" do
|
30
|
-
|
31
|
-
:email => 'new@example.com', :password => 'spree123', :password_confirmation => 'spree123'
|
32
|
-
}
|
33
|
-
|
34
|
-
api_post :create, :user => user_params, token: user.spree_api_key
|
36
|
+
api_post :create, :user => { :email => 'new@example.com', :password => 'spree123', :password_confirmation => 'spree123' }
|
35
37
|
expect(json_response['email']).to eq 'new@example.com'
|
36
38
|
end
|
37
39
|
|
38
40
|
# there's no validations on LegacyUser?
|
39
41
|
xit "cannot create a new user with invalid attributes" do
|
40
|
-
api_post :create, :user => {}
|
42
|
+
api_post :create, :user => {}
|
41
43
|
expect(response.status).to eq(422)
|
42
44
|
expect(json_response["error"]).to eq("Invalid resource. Please fix errors and try again.")
|
43
45
|
errors = json_response["errors"]
|
@@ -45,7 +47,7 @@ module Spree
|
|
45
47
|
|
46
48
|
it "can update own details" do
|
47
49
|
country = create(:country)
|
48
|
-
api_put :update, id: user.id,
|
50
|
+
api_put :update, id: user.id, user: {
|
49
51
|
email: "mine@example.com",
|
50
52
|
bill_address_attributes: {
|
51
53
|
first_name: 'First',
|
@@ -74,23 +76,23 @@ module Spree
|
|
74
76
|
end
|
75
77
|
|
76
78
|
it "cannot update other users details" do
|
77
|
-
api_put :update, id
|
79
|
+
api_put :update, :id => stranger.id, :user => { :email => "mine@example.com" }
|
78
80
|
assert_not_found!
|
79
81
|
end
|
80
82
|
|
81
83
|
it "can delete itself" do
|
82
|
-
api_delete :destroy,
|
84
|
+
api_delete :destroy, :id => user.id
|
83
85
|
expect(response.status).to eq(204)
|
84
86
|
end
|
85
87
|
|
86
88
|
it "cannot delete other user" do
|
87
|
-
api_delete :destroy, id
|
89
|
+
api_delete :destroy, :id => stranger.id
|
88
90
|
assert_not_found!
|
89
91
|
end
|
90
92
|
|
91
93
|
it "should only get own details on index" do
|
92
94
|
2.times { create(:user) }
|
93
|
-
api_get :index
|
95
|
+
api_get :index
|
94
96
|
|
95
97
|
expect(Spree.user_class.count).to eq 3
|
96
98
|
expect(json_response['count']).to eq 1
|
@@ -99,8 +101,6 @@ module Spree
|
|
99
101
|
end
|
100
102
|
|
101
103
|
context "as an admin" do
|
102
|
-
before { stub_authentication! }
|
103
|
-
|
104
104
|
sign_in_as_admin!
|
105
105
|
|
106
106
|
it "gets all users" do
|
@@ -4,11 +4,10 @@ module Spree
|
|
4
4
|
describe Api::VariantsController, :type => :controller do
|
5
5
|
render_views
|
6
6
|
|
7
|
-
let(:option_value) { create(:option_value) }
|
8
7
|
let!(:product) { create(:product) }
|
9
8
|
let!(:variant) do
|
10
9
|
variant = product.master
|
11
|
-
variant.option_values << option_value
|
10
|
+
variant.option_values << create(:option_value)
|
12
11
|
variant
|
13
12
|
end
|
14
13
|
|
@@ -167,12 +166,10 @@ module Spree
|
|
167
166
|
end
|
168
167
|
|
169
168
|
it "can create a new variant" do
|
170
|
-
api_post :create, variant
|
171
|
-
|
169
|
+
api_post :create, :variant => { :sku => "12345" }
|
172
170
|
expect(json_response).to have_attributes(new_attributes)
|
173
171
|
expect(response.status).to eq(201)
|
174
172
|
expect(json_response["sku"]).to eq("12345")
|
175
|
-
expect(json_response["option_values"].first["id"]).to eq option_value.id
|
176
173
|
|
177
174
|
expect(variant.product.variants.count).to eq(1)
|
178
175
|
end
|
@@ -38,6 +38,32 @@ module Spree
|
|
38
38
|
expect(json_response['zone_members'].size).to eq @zone.zone_members.count
|
39
39
|
end
|
40
40
|
|
41
|
+
context "specifying a rabl template to use" do
|
42
|
+
before do
|
43
|
+
Spree::Api::ZonesController.class_eval do
|
44
|
+
def custom_show
|
45
|
+
respond_with(zone)
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
50
|
+
it "uses the specified template" do
|
51
|
+
@routes = ActionDispatch::Routing::RouteSet.new.tap do |r|
|
52
|
+
r.draw { get 'custom_show' => 'spree/api/zones#custom_show' }
|
53
|
+
end
|
54
|
+
|
55
|
+
request.headers['X-Spree-Template'] = 'show'
|
56
|
+
api_get :custom_show, :id => @zone.id
|
57
|
+
expect(response).to render_template('spree/api/zones/show')
|
58
|
+
end
|
59
|
+
|
60
|
+
it "falls back to the default template if the specified template does not exist" do
|
61
|
+
request.headers['X-Spree-Template'] = 'invoice'
|
62
|
+
api_get :show, :id => @zone.id
|
63
|
+
expect(response).to render_template('spree/api/zones/show')
|
64
|
+
end
|
65
|
+
end
|
66
|
+
|
41
67
|
context "as an admin" do
|
42
68
|
sign_in_as_admin!
|
43
69
|
|
data/spec/spec_helper.rb
CHANGED
@@ -38,18 +38,17 @@ require 'spree/api/testing_support/setup'
|
|
38
38
|
RSpec.configure do |config|
|
39
39
|
config.backtrace_exclusion_patterns = [/gems\/activesupport/, /gems\/actionpack/, /gems\/rspec/]
|
40
40
|
config.color = true
|
41
|
+
config.fail_fast = ENV['FAIL_FAST'] || false
|
41
42
|
config.infer_spec_type_from_file_location!
|
43
|
+
config.raise_errors_for_deprecations!
|
44
|
+
config.use_transactional_fixtures = true
|
42
45
|
|
43
46
|
config.include FactoryGirl::Syntax::Methods
|
44
47
|
config.include Spree::Api::TestingSupport::Helpers, :type => :controller
|
45
48
|
config.extend Spree::Api::TestingSupport::Setup, :type => :controller
|
46
49
|
config.include Spree::TestingSupport::Preferences, :type => :controller
|
47
50
|
|
48
|
-
config.fail_fast = ENV['FAIL_FAST'] || false
|
49
|
-
|
50
51
|
config.before do
|
51
52
|
Spree::Api::Config[:requires_authentication] = true
|
52
53
|
end
|
53
|
-
|
54
|
-
config.use_transactional_fixtures = true
|
55
54
|
end
|
@@ -1,5 +1,11 @@
|
|
1
1
|
require 'active_support/all'
|
2
2
|
module ControllerHacks
|
3
|
+
extend ActiveSupport::Concern
|
4
|
+
|
5
|
+
included do
|
6
|
+
routes { Spree::Core::Engine.routes }
|
7
|
+
end
|
8
|
+
|
3
9
|
def api_get(action, params={}, session=nil, flash=nil)
|
4
10
|
api_process(action, params, session, flash, "GET")
|
5
11
|
end
|
@@ -12,17 +18,13 @@ module ControllerHacks
|
|
12
18
|
api_process(action, params, session, flash, "PUT")
|
13
19
|
end
|
14
20
|
|
15
|
-
def api_patch(action, params={}, session=nil, flash=nil)
|
16
|
-
api_process(action, params, session, flash, "PATCH")
|
17
|
-
end
|
18
|
-
|
19
21
|
def api_delete(action, params={}, session=nil, flash=nil)
|
20
22
|
api_process(action, params, session, flash, "DELETE")
|
21
23
|
end
|
22
24
|
|
23
25
|
def api_process(action, params={}, session=nil, flash=nil, method="get")
|
24
26
|
scoping = respond_to?(:resource_scoping) ? resource_scoping : {}
|
25
|
-
process(action, method, params.merge(scoping).reverse_merge!(:
|
27
|
+
process(action, method, params.merge(scoping).reverse_merge!(:format => :json), session, flash)
|
26
28
|
end
|
27
29
|
end
|
28
30
|
|
data/spree_api.gemspec
CHANGED
@@ -6,7 +6,8 @@ Gem::Specification.new do |gem|
|
|
6
6
|
gem.email = ["ryan@spreecommerce.com"]
|
7
7
|
gem.description = %q{Spree's API}
|
8
8
|
gem.summary = %q{Spree's API}
|
9
|
-
gem.homepage =
|
9
|
+
gem.homepage = 'https://spreecommerce.com'
|
10
|
+
gem.license = %q{BSD-3}
|
10
11
|
|
11
12
|
gem.files = `git ls-files`.split($\)
|
12
13
|
gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
|
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:
|
4
|
+
version: 3.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: 2015-
|
11
|
+
date: 2015-02-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: spree_core
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - '='
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
19
|
+
version: 3.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:
|
26
|
+
version: 3.0.0.rc1
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rabl
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -241,15 +241,15 @@ files:
|
|
241
241
|
- spec/fixtures/thinking-cat.jpg
|
242
242
|
- spec/models/spree/legacy_user_spec.rb
|
243
243
|
- spec/requests/rabl_cache_spec.rb
|
244
|
-
- spec/requests/ransackable_attributes_spec.rb
|
245
244
|
- spec/shared_examples/protect_product_actions.rb
|
246
245
|
- spec/spec_helper.rb
|
247
246
|
- spec/support/controller_hacks.rb
|
248
247
|
- spec/support/database_cleaner.rb
|
249
248
|
- spec/support/have_attributes_matcher.rb
|
250
249
|
- spree_api.gemspec
|
251
|
-
homepage:
|
252
|
-
licenses:
|
250
|
+
homepage: https://spreecommerce.com
|
251
|
+
licenses:
|
252
|
+
- BSD-3
|
253
253
|
metadata: {}
|
254
254
|
post_install_message:
|
255
255
|
rdoc_options: []
|
@@ -262,9 +262,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
262
262
|
version: '0'
|
263
263
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
264
264
|
requirements:
|
265
|
-
- - "
|
265
|
+
- - ">"
|
266
266
|
- !ruby/object:Gem::Version
|
267
|
-
version:
|
267
|
+
version: 1.3.1
|
268
268
|
requirements: []
|
269
269
|
rubyforge_project:
|
270
270
|
rubygems_version: 2.4.5
|
@@ -307,7 +307,6 @@ test_files:
|
|
307
307
|
- spec/fixtures/thinking-cat.jpg
|
308
308
|
- spec/models/spree/legacy_user_spec.rb
|
309
309
|
- spec/requests/rabl_cache_spec.rb
|
310
|
-
- spec/requests/ransackable_attributes_spec.rb
|
311
310
|
- spec/shared_examples/protect_product_actions.rb
|
312
311
|
- spec/spec_helper.rb
|
313
312
|
- spec/support/controller_hacks.rb
|