spree_api 1.3.2 → 1.3.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/app/controllers/spree/api/addresses_controller.rb +6 -2
- data/app/controllers/spree/api/base_controller.rb +2 -0
- data/app/controllers/spree/api/checkouts_controller.rb +12 -4
- data/app/controllers/spree/api/line_items_controller.rb +1 -1
- data/app/controllers/spree/api/orders_controller.rb +1 -1
- data/app/controllers/spree/api/taxons_controller.rb +10 -0
- data/app/controllers/spree/api/variants_controller.rb +1 -1
- data/app/controllers/spree/base_controller_decorator.rb +15 -0
- data/app/models/spree/order_decorator.rb +0 -2
- data/app/overrides/api_key_spree_layout.rb +6 -0
- data/app/views/spree/api/_key.html.erb +4 -0
- data/app/views/spree/api/line_items/show.v1.rabl +2 -0
- data/app/views/spree/api/orders/payment.v1.rabl +0 -4
- data/app/views/spree/api/products/show.v1.rabl +4 -4
- data/app/views/spree/api/variants/index.v1.rabl +1 -0
- data/app/views/spree/api/variants/show.v1.rabl +1 -0
- data/config/locales/en.yml +1 -0
- data/config/routes.rb +1 -1
- data/lib/spree/api/controller_setup.rb +1 -0
- data/spec/controllers/spree/api/addresses_controller_spec.rb +9 -0
- data/spec/controllers/spree/api/checkouts_controller_spec.rb +45 -0
- data/spec/controllers/spree/api/orders_controller_spec.rb +65 -4
- data/spec/controllers/spree/api/payments_controller_spec.rb +1 -1
- data/spec/controllers/spree/api/product_properties_controller_spec.rb +1 -1
- data/spec/controllers/spree/api/products_controller_spec.rb +10 -6
- data/spec/controllers/spree/api/shipments_controller_spec.rb +6 -0
- data/spec/controllers/spree/api/taxons_controller_spec.rb +18 -3
- data/spec/controllers/spree/api/variants_controller_spec.rb +22 -0
- data/spec/models/spree/order_spec.rb +1 -1
- data/spec/spec_helper.rb +1 -0
- data/spree_api.gemspec +0 -3
- metadata +12 -53
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: f397d8160397db229e68ecb1625d2a70c704abb6
|
4
|
+
data.tar.gz: d21c61fe36137fccefe8d0a21d3904b658a82943
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: fbc700d85f13b92900aedee047f0406ace478aa353fc3c283600bb40bd48e7fe121c555191d900df92fc55bdb0a01d3b9b11884603093f88fa7b56928c90898c
|
7
|
+
data.tar.gz: 206781bde534695d6a1d56584560d3355b08d4582d36f0dede3b748b471ca951a4b7cb5ba950fc072290acb40f5ea69177313ae0e4f3b07d80ea0968cb1bd5d5
|
@@ -12,8 +12,12 @@ module Spree
|
|
12
12
|
def update
|
13
13
|
@address = Address.find(params[:id])
|
14
14
|
authorize! :read, @address
|
15
|
-
|
16
|
-
|
15
|
+
|
16
|
+
if @address.update_attributes(params[:address])
|
17
|
+
respond_with(@address, :default_template => :show)
|
18
|
+
else
|
19
|
+
invalid_resource!(@address)
|
20
|
+
end
|
17
21
|
end
|
18
22
|
end
|
19
23
|
end
|
@@ -11,12 +11,19 @@ module Spree
|
|
11
11
|
|
12
12
|
def create
|
13
13
|
@order = Order.build_from_api(current_api_user, nested_params)
|
14
|
-
|
14
|
+
respond_with(@order, :default_template => 'spree/api/orders/show', :status => 201)
|
15
15
|
end
|
16
16
|
|
17
17
|
def update
|
18
|
-
if @order.
|
19
|
-
|
18
|
+
respond_with(@order, :default_template => 'spree/api/orders/show') and return if @order.state == "complete"
|
19
|
+
|
20
|
+
if object_params && object_params[:user_id].present?
|
21
|
+
@order.update_attribute(:user_id, object_params[:user_id])
|
22
|
+
object_params.delete(:user_id)
|
23
|
+
end
|
24
|
+
|
25
|
+
if @order.update_attributes(object_params) && @order.next
|
26
|
+
state_callback(:after)
|
20
27
|
respond_with(@order, :default_template => 'spree/api/orders/show')
|
21
28
|
else
|
22
29
|
respond_with(@order, :default_template => 'spree/api/orders/could_not_transition', :status => 422)
|
@@ -27,7 +34,8 @@ module Spree
|
|
27
34
|
|
28
35
|
def object_params
|
29
36
|
# For payment step, filter order parameters to produce the expected nested attributes for a single payment and its source, discarding attributes for payment methods other than the one selected
|
30
|
-
|
37
|
+
# respond_to check is necessary due to issue described in #2910
|
38
|
+
if @order.has_checkout_step?("payment") && @order.payment?
|
31
39
|
if params[:payment_source].present? && source_params = params.delete(:payment_source)[params[:order][:payments_attributes].first[:payment_method_id].underscore]
|
32
40
|
params[:order][:payments_attributes].first[:source_attributes] = source_params
|
33
41
|
end
|
@@ -16,7 +16,7 @@ module Spree
|
|
16
16
|
def update
|
17
17
|
authorize! :read, order
|
18
18
|
@line_item = order.line_items.find(params[:id])
|
19
|
-
if @line_item.update_attributes(params[:line_item])
|
19
|
+
if @line_item.update_attributes(params[:line_item], :as => :api)
|
20
20
|
respond_with(@line_item, :default_template => :show)
|
21
21
|
else
|
22
22
|
invalid_resource!(@line_item)
|
@@ -16,6 +16,16 @@ module Spree
|
|
16
16
|
def create
|
17
17
|
authorize! :create, Taxon
|
18
18
|
@taxon = Taxon.new(params[:taxon])
|
19
|
+
@taxon.taxonomy_id = params[:taxonomy_id]
|
20
|
+
taxonomy = Taxonomy.find_by_id(params[:taxonomy_id])
|
21
|
+
|
22
|
+
if taxonomy.nil?
|
23
|
+
@taxon.errors[:taxonomy_id] = I18n.t(:invalid_taxonomy_id, :scope => 'spree.api')
|
24
|
+
invalid_resource!(@taxon) and return
|
25
|
+
end
|
26
|
+
|
27
|
+
@taxon.parent_id = taxonomy.root.id unless params[:taxon][:parent_id]
|
28
|
+
|
19
29
|
if @taxon.save
|
20
30
|
respond_with(@taxon, :status => 201, :default_template => :show)
|
21
31
|
else
|
@@ -0,0 +1,15 @@
|
|
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
|
@@ -6,10 +6,10 @@ child :variants_including_master => :variants do
|
|
6
6
|
child :option_values => :option_values do
|
7
7
|
attributes *option_value_attributes
|
8
8
|
end
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
9
|
+
|
10
|
+
child :images => :images do
|
11
|
+
extends "spree/api/images/show"
|
12
|
+
end
|
13
13
|
end
|
14
14
|
|
15
15
|
child :option_types => :option_types do
|
data/config/locales/en.yml
CHANGED
data/config/routes.rb
CHANGED
@@ -24,6 +24,15 @@ module Spree
|
|
24
24
|
:address => { :address1 => "123 Test Lane" }
|
25
25
|
json_response['address1'].should eq '123 Test Lane'
|
26
26
|
end
|
27
|
+
|
28
|
+
it "receives the errors object if address is invalid" do
|
29
|
+
api_put :update, :id => @address.id,
|
30
|
+
:address => { :address1 => "" }
|
31
|
+
|
32
|
+
json_response['error'].should_not be_nil
|
33
|
+
json_response['errors'].should_not be_nil
|
34
|
+
json_response['errors']['address1'].first.should eq "can't be blank"
|
35
|
+
end
|
27
36
|
end
|
28
37
|
|
29
38
|
context "on somebody else's address" do
|
@@ -27,6 +27,20 @@ module Spree
|
|
27
27
|
json_response['number'].should be_present
|
28
28
|
response.status.should == 201
|
29
29
|
end
|
30
|
+
|
31
|
+
it "should not have a user by default" do
|
32
|
+
api_post :create
|
33
|
+
|
34
|
+
json_response['user_id'].should_not be_present
|
35
|
+
response.status.should == 201
|
36
|
+
end
|
37
|
+
|
38
|
+
it "should not have an email by default" do
|
39
|
+
api_post :create
|
40
|
+
|
41
|
+
json_response['email'].should_not be_present
|
42
|
+
response.status.should == 201
|
43
|
+
end
|
30
44
|
end
|
31
45
|
|
32
46
|
context "PUT 'update'" do
|
@@ -37,6 +51,24 @@ module Spree
|
|
37
51
|
Order.any_instance.stub(:payment_required? => true)
|
38
52
|
end
|
39
53
|
|
54
|
+
it "will return an error if the recently created order cannot transition from cart to address" do
|
55
|
+
order.state.should eq "cart"
|
56
|
+
order.email = nil # email is necessary to transition from cart to address
|
57
|
+
order.save!
|
58
|
+
|
59
|
+
api_put :update, :id => order.to_param
|
60
|
+
|
61
|
+
json_response['error'].should =~ /could not be transitioned/
|
62
|
+
response.status.should == 422
|
63
|
+
end
|
64
|
+
|
65
|
+
it "should transition a recently created order from cart do address" do
|
66
|
+
order.state.should eq "cart"
|
67
|
+
order.email.should_not be_nil
|
68
|
+
api_put :update, :id => order.to_param
|
69
|
+
order.reload.state.should eq "address"
|
70
|
+
end
|
71
|
+
|
40
72
|
it "will return an error if the order cannot transition" do
|
41
73
|
order.update_column(:state, "address")
|
42
74
|
api_put :update, :id => order.to_param
|
@@ -97,6 +129,19 @@ module Spree
|
|
97
129
|
json_response['number'].should == order.number
|
98
130
|
response.status.should == 200
|
99
131
|
end
|
132
|
+
|
133
|
+
it "can assign a user to the order" do
|
134
|
+
user = create(:user)
|
135
|
+
api_put :update, :id => order.to_param, :order => { :user_id => user.id }
|
136
|
+
json_response['user_id'].should == user.id
|
137
|
+
response.status.should == 200
|
138
|
+
end
|
139
|
+
|
140
|
+
it "can assign an email to the order" do
|
141
|
+
api_put :update, :id => order.to_param, :order => { :email => "guest@spreecommerce.com" }
|
142
|
+
json_response['email'].should == "guest@spreecommerce.com"
|
143
|
+
response.status.should == 200
|
144
|
+
end
|
100
145
|
end
|
101
146
|
end
|
102
147
|
end
|
@@ -61,14 +61,14 @@ module Spree
|
|
61
61
|
order.line_items.count.should == 1
|
62
62
|
order.line_items.first.variant.should == variant
|
63
63
|
order.line_items.first.quantity.should == 5
|
64
|
-
json_response["state"].should == "
|
64
|
+
json_response["state"].should == "cart"
|
65
65
|
end
|
66
66
|
|
67
67
|
it "can create an order without any parameters" do
|
68
68
|
lambda { api_post :create }.should_not raise_error(NoMethodError)
|
69
69
|
response.status.should == 201
|
70
70
|
order = Order.last
|
71
|
-
json_response["state"].should == "
|
71
|
+
json_response["state"].should == "cart"
|
72
72
|
end
|
73
73
|
|
74
74
|
context "working with an order" do
|
@@ -87,8 +87,12 @@ module Spree
|
|
87
87
|
end
|
88
88
|
|
89
89
|
let(:address_params) { { :country_id => Country.first.id, :state_id => State.first.id } }
|
90
|
-
let(:
|
91
|
-
|
90
|
+
let(:billing_address) { { :firstname => "Tiago", :lastname => "Motta", :address1 => "Av Paulista",
|
91
|
+
:city => "Sao Paulo", :zipcode => "1234567", :phone => "12345678",
|
92
|
+
:country_id => Country.first.id, :state_id => State.first.id} }
|
93
|
+
let(:shipping_address) { { :firstname => "Tiago", :lastname => "Motta", :address1 => "Av Paulista",
|
94
|
+
:city => "Sao Paulo", :zipcode => "1234567", :phone => "12345678",
|
95
|
+
:country_id => Country.first.id, :state_id => State.first.id} }
|
92
96
|
let!(:shipping_method) { create(:shipping_method) }
|
93
97
|
let!(:payment_method) { create(:payment_method) }
|
94
98
|
|
@@ -98,6 +102,44 @@ module Spree
|
|
98
102
|
response.status.should == 200
|
99
103
|
json_response['item_total'].to_f.should_not == order.item_total.to_f
|
100
104
|
end
|
105
|
+
|
106
|
+
it "can add billing address" do
|
107
|
+
order.bill_address.should be_nil
|
108
|
+
|
109
|
+
api_put :update, :id => order.to_param, :order => { :bill_address_attributes => billing_address }
|
110
|
+
|
111
|
+
order.reload.bill_address.should_not be_nil
|
112
|
+
end
|
113
|
+
|
114
|
+
it "receives error message if trying to add billing address with errors" do
|
115
|
+
order.bill_address.should be_nil
|
116
|
+
billing_address[:firstname] = ""
|
117
|
+
|
118
|
+
api_put :update, :id => order.to_param, :order => { :bill_address_attributes => billing_address }
|
119
|
+
|
120
|
+
json_response['error'].should_not be_nil
|
121
|
+
json_response['errors'].should_not be_nil
|
122
|
+
json_response['errors']['bill_address.firstname'].first.should eq "can't be blank"
|
123
|
+
end
|
124
|
+
|
125
|
+
it "can add shipping address" do
|
126
|
+
order.ship_address.should be_nil
|
127
|
+
|
128
|
+
api_put :update, :id => order.to_param, :order => { :ship_address_attributes => shipping_address }
|
129
|
+
|
130
|
+
order.reload.ship_address.should_not be_nil
|
131
|
+
end
|
132
|
+
|
133
|
+
it "receives error message if trying to add shipping address with errors" do
|
134
|
+
order.ship_address.should be_nil
|
135
|
+
shipping_address[:firstname] = ""
|
136
|
+
|
137
|
+
api_put :update, :id => order.to_param, :order => { :ship_address_attributes => shipping_address }
|
138
|
+
|
139
|
+
json_response['error'].should_not be_nil
|
140
|
+
json_response['errors'].should_not be_nil
|
141
|
+
json_response['errors']['ship_address.firstname'].first.should eq "can't be blank"
|
142
|
+
end
|
101
143
|
|
102
144
|
context "with a line item" do
|
103
145
|
before do
|
@@ -109,6 +151,20 @@ module Spree
|
|
109
151
|
response.status.should == 200
|
110
152
|
order.reload.line_items.should be_empty
|
111
153
|
end
|
154
|
+
|
155
|
+
it "can list its line items with images" do
|
156
|
+
order.line_items.first.variant.images.create!(:attachment => image("thinking-cat.jpg"))
|
157
|
+
|
158
|
+
api_get :show, :id => order.to_param
|
159
|
+
|
160
|
+
json_response['line_items'].first['variant'].should have_attributes([:images])
|
161
|
+
end
|
162
|
+
|
163
|
+
it "lists variants product id" do
|
164
|
+
api_get :show, :id => order.to_param
|
165
|
+
|
166
|
+
json_response['line_items'].first['variant'].should have_attributes([:product_id])
|
167
|
+
end
|
112
168
|
end
|
113
169
|
end
|
114
170
|
|
@@ -166,6 +222,11 @@ module Spree
|
|
166
222
|
|
167
223
|
context "can cancel an order" do
|
168
224
|
before do
|
225
|
+
Spree::MailMethod.create!(
|
226
|
+
:environment => Rails.env,
|
227
|
+
:preferred_mails_from => "spree@example.com"
|
228
|
+
)
|
229
|
+
|
169
230
|
order.completed_at = Time.now
|
170
231
|
order.state = 'complete'
|
171
232
|
order.shipment_state = 'ready'
|
@@ -66,18 +66,22 @@ module Spree
|
|
66
66
|
|
67
67
|
it "gets a single product" do
|
68
68
|
product.master.images.create!(:attachment => image("thinking-cat.jpg"))
|
69
|
+
product.variants.create!
|
70
|
+
product.variants.first.images.create!(:attachment => image("thinking-cat.jpg"))
|
69
71
|
product.set_property("spree", "rocks")
|
70
72
|
api_get :show, :id => product.to_param
|
71
73
|
json_response.should have_attributes(attributes)
|
72
74
|
json_response['variants'].first.should have_attributes([:name,
|
73
75
|
:is_master,
|
74
76
|
:count_on_hand,
|
75
|
-
:price
|
77
|
+
:price,
|
78
|
+
:images])
|
76
79
|
|
77
|
-
json_response[
|
78
|
-
|
79
|
-
|
80
|
-
|
80
|
+
json_response['variants'].first['images'].first.should have_attributes([:attachment_file_name,
|
81
|
+
:attachment_width,
|
82
|
+
:attachment_height,
|
83
|
+
:attachment_content_type,
|
84
|
+
:attachment_url])
|
81
85
|
|
82
86
|
json_response["product_properties"].first.should have_attributes([:value,
|
83
87
|
:product_id,
|
@@ -139,7 +143,7 @@ module Spree
|
|
139
143
|
# Regression test for #1626
|
140
144
|
context "deleted products" do
|
141
145
|
before do
|
142
|
-
create(:product, :deleted_at =>
|
146
|
+
create(:product, :deleted_at => 1.day.ago)
|
143
147
|
end
|
144
148
|
|
145
149
|
it "does not include deleted products" do
|
@@ -44,6 +44,12 @@ describe Spree::Api::ShipmentsController do
|
|
44
44
|
context "can transition a shipment from ready to ship" do
|
45
45
|
before do
|
46
46
|
Spree::Order.any_instance.stub(:paid? => true, :complete? => true)
|
47
|
+
# For the shipment notification email
|
48
|
+
Spree::MailMethod.create!(
|
49
|
+
:environment => Rails.env,
|
50
|
+
:preferred_mails_from => "spree@example.com"
|
51
|
+
)
|
52
|
+
|
47
53
|
shipment.update!(shipment.order)
|
48
54
|
shipment.state.should == "ready"
|
49
55
|
end
|
@@ -61,11 +61,14 @@ module Spree
|
|
61
61
|
sign_in_as_admin!
|
62
62
|
|
63
63
|
it "can create" do
|
64
|
-
api_post :create, :taxonomy_id => taxonomy.id, :taxon => { :name => "Colors"
|
64
|
+
api_post :create, :taxonomy_id => taxonomy.id, :taxon => { :name => "Colors" }
|
65
65
|
json_response.should have_attributes(attributes)
|
66
66
|
response.status.should == 201
|
67
67
|
|
68
|
-
|
68
|
+
taxonomy.reload.root.children.count.should eq 2
|
69
|
+
|
70
|
+
Spree::Taxon.last.parent_id.should eq taxonomy.root.id
|
71
|
+
Spree::Taxon.last.taxonomy_id.should eq taxonomy.id
|
69
72
|
end
|
70
73
|
|
71
74
|
it "cannot create a new taxon with invalid attributes" do
|
@@ -74,7 +77,19 @@ module Spree
|
|
74
77
|
json_response["error"].should == "Invalid resource. Please fix errors and try again."
|
75
78
|
errors = json_response["errors"]
|
76
79
|
|
77
|
-
|
80
|
+
taxonomy.reload.root.children.count.should eq 1
|
81
|
+
end
|
82
|
+
|
83
|
+
it "cannot create a new taxon with invalid taxonomy_id" do
|
84
|
+
api_post :create, :taxonomy_id => 1000, :taxon => { :name => "Colors" }
|
85
|
+
response.status.should == 422
|
86
|
+
json_response["error"].should == "Invalid resource. Please fix errors and try again."
|
87
|
+
|
88
|
+
errors = json_response["errors"]
|
89
|
+
errors["taxonomy_id"].should_not be_nil
|
90
|
+
errors["taxonomy_id"].first.should eq "Invalid taxonomy id."
|
91
|
+
|
92
|
+
taxonomy.reload.root.children.count.should eq 1
|
78
93
|
end
|
79
94
|
|
80
95
|
it "can destroy" do
|
@@ -51,6 +51,14 @@ module Spree
|
|
51
51
|
:option_type_name,
|
52
52
|
:option_type_id])
|
53
53
|
end
|
54
|
+
|
55
|
+
it "variants returned contain images data" do
|
56
|
+
variant.images.create!(:attachment => image("thinking-cat.jpg"))
|
57
|
+
|
58
|
+
api_get :index
|
59
|
+
|
60
|
+
json_response["variants"].last.should have_attributes([:images])
|
61
|
+
end
|
54
62
|
|
55
63
|
# Regression test for #2141
|
56
64
|
context "a deleted variant" do
|
@@ -91,6 +99,19 @@ module Spree
|
|
91
99
|
:option_type_name,
|
92
100
|
:option_type_id])
|
93
101
|
end
|
102
|
+
|
103
|
+
it "can see a single variant with images" do
|
104
|
+
variant.images.create!(:attachment => image("thinking-cat.jpg"))
|
105
|
+
|
106
|
+
api_get :show, :id => variant.to_param
|
107
|
+
|
108
|
+
json_response.should have_attributes(attributes + [:images])
|
109
|
+
option_values = json_response["option_values"]
|
110
|
+
option_values.first.should have_attributes([:name,
|
111
|
+
:presentation,
|
112
|
+
:option_type_name,
|
113
|
+
:option_type_id])
|
114
|
+
end
|
94
115
|
|
95
116
|
it "can learn how to create a new variant" do
|
96
117
|
api_get :new
|
@@ -134,6 +155,7 @@ module Spree
|
|
134
155
|
api_post :create, :variant => { :sku => "12345" }
|
135
156
|
json_response.should have_attributes(attributes)
|
136
157
|
response.status.should == 201
|
158
|
+
json_response["sku"].should == "12345"
|
137
159
|
|
138
160
|
variant.product.variants.count.should == 1
|
139
161
|
end
|
@@ -9,7 +9,7 @@ module Spree
|
|
9
9
|
variant_id = product.master.id
|
10
10
|
order = Order.build_from_api(user, { :line_items_attributes => { "0" => { :variant_id => variant_id, :quantity => 5 }}})
|
11
11
|
|
12
|
-
order.user.should ==
|
12
|
+
order.user.should == nil
|
13
13
|
line_item = order.line_items.first
|
14
14
|
line_item.quantity.should == 5
|
15
15
|
line_item.variant_id.should == variant_id
|
data/spec/spec_helper.rb
CHANGED
@@ -15,6 +15,7 @@ require 'spree/api/testing_support/setup'
|
|
15
15
|
|
16
16
|
RSpec.configure do |config|
|
17
17
|
config.backtrace_clean_patterns = [/gems\/activesupport/, /gems\/actionpack/, /gems\/rspec/]
|
18
|
+
config.color = true
|
18
19
|
|
19
20
|
config.include FactoryGirl::Syntax::Methods
|
20
21
|
config.include Spree::Api::TestingSupport::Helpers, :type => :controller
|
data/spree_api.gemspec
CHANGED
metadata
CHANGED
@@ -1,36 +1,32 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: spree_api
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.3.
|
5
|
-
prerelease:
|
4
|
+
version: 1.3.3
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Ryan Bigg
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date: 2013-
|
11
|
+
date: 2013-06-13 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: spree_core
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
16
|
requirements:
|
19
17
|
- - '='
|
20
18
|
- !ruby/object:Gem::Version
|
21
|
-
version: 1.3.
|
19
|
+
version: 1.3.3
|
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: 1.3.
|
26
|
+
version: 1.3.3
|
30
27
|
- !ruby/object:Gem::Dependency
|
31
28
|
name: versioncake
|
32
29
|
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
30
|
requirements:
|
35
31
|
- - '='
|
36
32
|
- !ruby/object:Gem::Version
|
@@ -38,43 +34,10 @@ dependencies:
|
|
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
40
|
version: 0.4.0
|
46
|
-
- !ruby/object:Gem::Dependency
|
47
|
-
name: rspec-rails
|
48
|
-
requirement: !ruby/object:Gem::Requirement
|
49
|
-
none: false
|
50
|
-
requirements:
|
51
|
-
- - '='
|
52
|
-
- !ruby/object:Gem::Version
|
53
|
-
version: 2.9.0
|
54
|
-
type: :development
|
55
|
-
prerelease: false
|
56
|
-
version_requirements: !ruby/object:Gem::Requirement
|
57
|
-
none: false
|
58
|
-
requirements:
|
59
|
-
- - '='
|
60
|
-
- !ruby/object:Gem::Version
|
61
|
-
version: 2.9.0
|
62
|
-
- !ruby/object:Gem::Dependency
|
63
|
-
name: database_cleaner
|
64
|
-
requirement: !ruby/object:Gem::Requirement
|
65
|
-
none: false
|
66
|
-
requirements:
|
67
|
-
- - ! '>='
|
68
|
-
- !ruby/object:Gem::Version
|
69
|
-
version: '0'
|
70
|
-
type: :development
|
71
|
-
prerelease: false
|
72
|
-
version_requirements: !ruby/object:Gem::Requirement
|
73
|
-
none: false
|
74
|
-
requirements:
|
75
|
-
- - ! '>='
|
76
|
-
- !ruby/object:Gem::Version
|
77
|
-
version: '0'
|
78
41
|
description: Spree's API
|
79
42
|
email:
|
80
43
|
- ryan@spreecommerce.com
|
@@ -105,6 +68,7 @@ files:
|
|
105
68
|
- app/controllers/spree/api/users_controller.rb
|
106
69
|
- app/controllers/spree/api/variants_controller.rb
|
107
70
|
- app/controllers/spree/api/zones_controller.rb
|
71
|
+
- app/controllers/spree/base_controller_decorator.rb
|
108
72
|
- app/helpers/spree/api/api_helpers.rb
|
109
73
|
- app/models/spree/api_configuration.rb
|
110
74
|
- app/models/spree/line_item_decorator.rb
|
@@ -112,7 +76,9 @@ files:
|
|
112
76
|
- app/models/spree/order_decorator.rb
|
113
77
|
- app/models/spree/user_decorator.rb
|
114
78
|
- app/overrides/api_admin_user_edit_form.rb
|
79
|
+
- app/overrides/api_key_spree_layout.rb
|
115
80
|
- app/views/spree/admin/users/_api_fields.html.erb
|
81
|
+
- app/views/spree/api/_key.html.erb
|
116
82
|
- app/views/spree/api/addresses/show.v1.rabl
|
117
83
|
- app/views/spree/api/countries/index.v1.rabl
|
118
84
|
- app/views/spree/api/countries/show.v1.rabl
|
@@ -215,33 +181,26 @@ files:
|
|
215
181
|
- spree_api.gemspec
|
216
182
|
homepage: ''
|
217
183
|
licenses: []
|
184
|
+
metadata: {}
|
218
185
|
post_install_message:
|
219
186
|
rdoc_options: []
|
220
187
|
require_paths:
|
221
188
|
- lib
|
222
189
|
required_ruby_version: !ruby/object:Gem::Requirement
|
223
|
-
none: false
|
224
190
|
requirements:
|
225
|
-
- -
|
191
|
+
- - '>='
|
226
192
|
- !ruby/object:Gem::Version
|
227
193
|
version: '0'
|
228
|
-
segments:
|
229
|
-
- 0
|
230
|
-
hash: 2361962546786859221
|
231
194
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
232
|
-
none: false
|
233
195
|
requirements:
|
234
|
-
- -
|
196
|
+
- - '>='
|
235
197
|
- !ruby/object:Gem::Version
|
236
198
|
version: '0'
|
237
|
-
segments:
|
238
|
-
- 0
|
239
|
-
hash: 2361962546786859221
|
240
199
|
requirements: []
|
241
200
|
rubyforge_project:
|
242
|
-
rubygems_version:
|
201
|
+
rubygems_version: 2.0.0
|
243
202
|
signing_key:
|
244
|
-
specification_version:
|
203
|
+
specification_version: 4
|
245
204
|
summary: Spree's API
|
246
205
|
test_files:
|
247
206
|
- spec/controllers/spree/api/addresses_controller_spec.rb
|