dup_spree_api 1.3.0.rc1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (122) hide show
  1. data/.gitignore +17 -0
  2. data/.rspec +1 -0
  3. data/Gemfile +5 -0
  4. data/LICENSE +22 -0
  5. data/Rakefile +30 -0
  6. data/app/controllers/spree/api/addresses_controller.rb +20 -0
  7. data/app/controllers/spree/api/base_controller.rb +114 -0
  8. data/app/controllers/spree/api/countries_controller.rb +18 -0
  9. data/app/controllers/spree/api/images_controller.rb +32 -0
  10. data/app/controllers/spree/api/line_items_controller.rb +40 -0
  11. data/app/controllers/spree/api/orders_controller.rb +85 -0
  12. data/app/controllers/spree/api/payments_controller.rb +80 -0
  13. data/app/controllers/spree/api/product_properties_controller.rb +65 -0
  14. data/app/controllers/spree/api/products_controller.rb +49 -0
  15. data/app/controllers/spree/api/return_authorizations_controller.rb +54 -0
  16. data/app/controllers/spree/api/shipments_controller.rb +43 -0
  17. data/app/controllers/spree/api/taxonomies_controller.rb +50 -0
  18. data/app/controllers/spree/api/taxons_controller.rb +53 -0
  19. data/app/controllers/spree/api/variants_controller.rb +75 -0
  20. data/app/controllers/spree/api/zones_controller.rb +46 -0
  21. data/app/helpers/spree/api/api_helpers.rb +76 -0
  22. data/app/models/spree/api_configuration.rb +5 -0
  23. data/app/models/spree/line_item_decorator.rb +3 -0
  24. data/app/models/spree/option_value_decorator.rb +5 -0
  25. data/app/models/spree/order_decorator.rb +13 -0
  26. data/app/models/spree/user_decorator.rb +13 -0
  27. data/app/overrides/api_admin_user_edit_form.rb +6 -0
  28. data/app/views/spree/admin/users/_api_fields.html.erb +32 -0
  29. data/app/views/spree/api/addresses/show.v1.rabl +11 -0
  30. data/app/views/spree/api/countries/index.v1.rabl +7 -0
  31. data/app/views/spree/api/countries/show.v1.rabl +5 -0
  32. data/app/views/spree/api/errors/gateway_error.v1.rabl +2 -0
  33. data/app/views/spree/api/errors/invalid_api_key.v1.rabl +2 -0
  34. data/app/views/spree/api/errors/invalid_resource.v1.rabl +3 -0
  35. data/app/views/spree/api/errors/must_specify_api_key.v1.rabl +2 -0
  36. data/app/views/spree/api/errors/not_found.v1.rabl +2 -0
  37. data/app/views/spree/api/errors/unauthorized.v1.rabl +2 -0
  38. data/app/views/spree/api/images/show.v1.rabl +3 -0
  39. data/app/views/spree/api/line_items/new.v1.rabl +3 -0
  40. data/app/views/spree/api/line_items/show.v1.rabl +5 -0
  41. data/app/views/spree/api/orders/address.v1.rabl +0 -0
  42. data/app/views/spree/api/orders/canceled.v1.rabl +0 -0
  43. data/app/views/spree/api/orders/cart.v1.rabl +0 -0
  44. data/app/views/spree/api/orders/complete.v1.rabl +0 -0
  45. data/app/views/spree/api/orders/could_not_transition.v1.rabl +3 -0
  46. data/app/views/spree/api/orders/delivery.v1.rabl +3 -0
  47. data/app/views/spree/api/orders/index.v1.rabl +7 -0
  48. data/app/views/spree/api/orders/invalid_shipping_method.v1.rabl +2 -0
  49. data/app/views/spree/api/orders/payment.v1.rabl +4 -0
  50. data/app/views/spree/api/orders/show.v1.rabl +29 -0
  51. data/app/views/spree/api/payments/credit_over_limit.v1.rabl +2 -0
  52. data/app/views/spree/api/payments/index.v1.rabl +7 -0
  53. data/app/views/spree/api/payments/new.v1.rabl +6 -0
  54. data/app/views/spree/api/payments/show.v1.rabl +2 -0
  55. data/app/views/spree/api/product_properties/index.v1.rabl +7 -0
  56. data/app/views/spree/api/product_properties/new.v1.rabl +2 -0
  57. data/app/views/spree/api/product_properties/show.v1.rabl +2 -0
  58. data/app/views/spree/api/products/index.v1.rabl +8 -0
  59. data/app/views/spree/api/products/new.v1.rabl +3 -0
  60. data/app/views/spree/api/products/product.v1.rabl +1 -0
  61. data/app/views/spree/api/products/show.v1.rabl +25 -0
  62. data/app/views/spree/api/return_authorizations/index.v1.rabl +7 -0
  63. data/app/views/spree/api/return_authorizations/new.v1.rabl +3 -0
  64. data/app/views/spree/api/return_authorizations/show.v1.rabl +2 -0
  65. data/app/views/spree/api/shipments/cannot_ready_shipment.v1.rabl +2 -0
  66. data/app/views/spree/api/shipments/show.v1.rabl +7 -0
  67. data/app/views/spree/api/taxonomies/index.v1.rabl +7 -0
  68. data/app/views/spree/api/taxonomies/nested.v1.rabl +11 -0
  69. data/app/views/spree/api/taxonomies/new.v1.rabl +3 -0
  70. data/app/views/spree/api/taxonomies/show.v1.rabl +15 -0
  71. data/app/views/spree/api/taxons/index.v1.rabl +4 -0
  72. data/app/views/spree/api/taxons/new.v1.rabl +3 -0
  73. data/app/views/spree/api/taxons/show.v1.rabl +8 -0
  74. data/app/views/spree/api/taxons/taxons.v1.rabl +7 -0
  75. data/app/views/spree/api/variants/index.v1.rabl +10 -0
  76. data/app/views/spree/api/variants/new.v1.rabl +2 -0
  77. data/app/views/spree/api/variants/show.v1.rabl +3 -0
  78. data/app/views/spree/api/variants/variant.v1.rabl +1 -0
  79. data/app/views/spree/api/zones/index.v1.rabl +7 -0
  80. data/app/views/spree/api/zones/show.v1.rabl +6 -0
  81. data/config/initializers/metal_load_paths.rb +1 -0
  82. data/config/locales/en.yml +23 -0
  83. data/config/routes.rb +56 -0
  84. data/db/migrate/20100107141738_add_api_key_to_spree_users.rb +7 -0
  85. data/db/migrate/20120411123334_resize_api_key_field.rb +7 -0
  86. data/db/migrate/20120530054546_rename_api_key_to_spree_api_key.rb +7 -0
  87. data/lib/spree/api.rb +12 -0
  88. data/lib/spree/api/controller_setup.rb +27 -0
  89. data/lib/spree/api/engine.rb +35 -0
  90. data/lib/spree/api/responders.rb +11 -0
  91. data/lib/spree/api/responders/rabl_template.rb +22 -0
  92. data/lib/spree/api/testing_support/helpers.rb +35 -0
  93. data/lib/spree/api/testing_support/setup.rb +28 -0
  94. data/lib/spree/api/version.rb +5 -0
  95. data/lib/spree_api.rb +3 -0
  96. data/script/rails +9 -0
  97. data/spec/controllers/spree/api/addresses_controller_spec.rb +45 -0
  98. data/spec/controllers/spree/api/base_controller_spec.rb +42 -0
  99. data/spec/controllers/spree/api/countries_controller_spec.rb +48 -0
  100. data/spec/controllers/spree/api/images_controller_spec.rb +66 -0
  101. data/spec/controllers/spree/api/line_items_controller_spec.rb +77 -0
  102. data/spec/controllers/spree/api/orders_controller_spec.rb +255 -0
  103. data/spec/controllers/spree/api/payments_controller_spec.rb +203 -0
  104. data/spec/controllers/spree/api/product_properties_controller_spec.rb +116 -0
  105. data/spec/controllers/spree/api/products_controller_spec.rb +211 -0
  106. data/spec/controllers/spree/api/return_authorizations_controller_spec.rb +155 -0
  107. data/spec/controllers/spree/api/shipments_controller_spec.rb +59 -0
  108. data/spec/controllers/spree/api/taxonomies_controller_spec.rb +107 -0
  109. data/spec/controllers/spree/api/taxons_controller_spec.rb +87 -0
  110. data/spec/controllers/spree/api/unauthenticated_products_controller_spec.rb +26 -0
  111. data/spec/controllers/spree/api/variants_controller_spec.rb +155 -0
  112. data/spec/controllers/spree/api/zones_controller_spec.rb +111 -0
  113. data/spec/fixtures/thinking-cat.jpg +0 -0
  114. data/spec/models/spree/legacy_user_spec.rb +19 -0
  115. data/spec/models/spree/order_spec.rb +18 -0
  116. data/spec/shared_examples/protect_product_actions.rb +17 -0
  117. data/spec/spec_helper.rb +27 -0
  118. data/spec/support/controller_hacks.rb +27 -0
  119. data/spec/support/database_cleaner.rb +14 -0
  120. data/spec/support/have_attributes_matcher.rb +13 -0
  121. data/spree_api.gemspec +23 -0
  122. metadata +254 -0
@@ -0,0 +1,19 @@
1
+ require 'spec_helper'
2
+
3
+ module Spree
4
+ describe LegacyUser do
5
+ let(:user) { LegacyUser.new }
6
+
7
+ it "can generate an API key" do
8
+ user.should_receive(:save!)
9
+ user.generate_spree_api_key!
10
+ user.spree_api_key.should_not be_blank
11
+ end
12
+
13
+ it "can clear an API key" do
14
+ user.should_receive(:save!)
15
+ user.clear_spree_api_key!
16
+ user.spree_api_key.should be_blank
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,18 @@
1
+ require 'spec_helper'
2
+
3
+ module Spree
4
+ describe Order do
5
+ let(:user) { stub_model(LegacyUser) }
6
+
7
+ it 'can build an order from API parameters' do
8
+ product = Spree::Product.create!(:name => 'Test', :sku => 'TEST-1', :price => 33.22)
9
+ variant_id = product.master.id
10
+ order = Order.build_from_api(user, { :line_items_attributes => [{ :variant_id => variant_id, :quantity => 5 }]})
11
+
12
+ order.user.should == user
13
+ line_item = order.line_items.first
14
+ line_item.quantity.should == 5
15
+ line_item.variant_id.should == variant_id
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,17 @@
1
+ shared_examples "modifying product actions are restricted" do
2
+ it "cannot create a new product if not an admin" do
3
+ api_post :create, :product => { :name => "Brand new product!" }
4
+ assert_unauthorized!
5
+ end
6
+
7
+ it "cannot update a product" do
8
+ api_put :update, :id => product.to_param, :product => { :name => "I hacked your store!" }
9
+ assert_unauthorized!
10
+ end
11
+
12
+ it "cannot delete a product" do
13
+ api_delete :destroy, :id => product.to_param
14
+ assert_unauthorized!
15
+ end
16
+ end
17
+
@@ -0,0 +1,27 @@
1
+ # This file is copied to spec/ when you run 'rails generate rspec:install'
2
+ ENV["RAILS_ENV"] ||= 'test'
3
+ require File.expand_path("../dummy/config/environment", __FILE__)
4
+ require 'rspec/rails'
5
+ require 'rspec/autorun'
6
+
7
+ # Requires supporting ruby files with custom matchers and macros, etc,
8
+ # in spec/support/ and its subdirectories.
9
+ Dir[File.dirname(__FILE__) + "/support/**/*.rb"].each {|f| require f}
10
+
11
+ require 'spree/core/testing_support/factories'
12
+
13
+ require 'spree/api/testing_support/helpers'
14
+ require 'spree/api/testing_support/setup'
15
+
16
+ RSpec.configure do |config|
17
+ config.backtrace_clean_patterns = [/gems\/activesupport/, /gems\/actionpack/, /gems\/rspec/]
18
+
19
+ config.include FactoryGirl::Syntax::Methods
20
+ config.include Spree::Api::TestingSupport::Helpers, :type => :controller
21
+ config.extend Spree::Api::TestingSupport::Setup, :type => :controller
22
+ config.include Spree::Core::TestingSupport::Preferences, :type => :controller
23
+
24
+ config.before do
25
+ Spree::Api::Config[:requires_authentication] = true
26
+ end
27
+ end
@@ -0,0 +1,27 @@
1
+ require 'active_support/all'
2
+ module ControllerHacks
3
+ def api_get(action, params={}, session=nil, flash=nil)
4
+ api_process(action, params, session, flash, "GET")
5
+ end
6
+
7
+ def api_post(action, params={}, session=nil, flash=nil)
8
+ api_process(action, params, session, flash, "POST")
9
+ end
10
+
11
+ def api_put(action, params={}, session=nil, flash=nil)
12
+ api_process(action, params, session, flash, "PUT")
13
+ end
14
+
15
+ def api_delete(action, params={}, session=nil, flash=nil)
16
+ api_process(action, params, session, flash, "DELETE")
17
+ end
18
+
19
+ def api_process(action, params={}, session=nil, flash=nil, method="get")
20
+ scoping = respond_to?(:resource_scoping) ? resource_scoping : {}
21
+ process(action, params.merge(scoping).reverse_merge!(:use_route => :spree, :format => :json), session, flash, method)
22
+ end
23
+ end
24
+
25
+ RSpec.configure do |config|
26
+ config.include ControllerHacks, :type => :controller
27
+ end
@@ -0,0 +1,14 @@
1
+ RSpec.configure do |config|
2
+ config.before(:suite) do
3
+ DatabaseCleaner.strategy = :transaction
4
+ DatabaseCleaner.clean_with(:truncation)
5
+ end
6
+
7
+ config.before(:each) do
8
+ DatabaseCleaner.start
9
+ end
10
+
11
+ config.after(:each) do
12
+ DatabaseCleaner.clean
13
+ end
14
+ end
@@ -0,0 +1,13 @@
1
+
2
+
3
+
4
+
5
+ RSpec::Matchers.define :have_attributes do |expected_attributes|
6
+ match do |actual|
7
+ # actual is a Hash object representing an object, like this:
8
+ # { "name" => "Product #1" }
9
+ actual_attributes = actual.keys.map(&:to_sym)
10
+ expected_attributes.map(&:to_sym).all? { |attr| actual_attributes.include?(attr) }
11
+ end
12
+ end
13
+
@@ -0,0 +1,23 @@
1
+ # -*- encoding: utf-8 -*-
2
+ version = File.read(File.expand_path("../../SPREE_VERSION", __FILE__)).strip
3
+
4
+ Gem::Specification.new do |gem|
5
+ gem.authors = ["Ryan Bigg"]
6
+ gem.email = ["ryan@spreecommerce.com"]
7
+ gem.description = %q{Spree's API}
8
+ gem.summary = %q{Spree's API}
9
+ gem.homepage = ""
10
+
11
+ gem.files = `git ls-files`.split($\)
12
+ gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
13
+ gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
14
+ gem.name = "dup_spree_api"
15
+ gem.require_paths = ["lib"]
16
+ gem.version = version
17
+
18
+ gem.add_dependency 'spree_core', version
19
+ gem.add_dependency 'versioncake', '0.4.0'
20
+
21
+ gem.add_development_dependency 'rspec-rails', '2.9.0'
22
+ gem.add_development_dependency 'database_cleaner'
23
+ end
metadata ADDED
@@ -0,0 +1,254 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: dup_spree_api
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.3.0.rc1
5
+ prerelease: 6
6
+ platform: ruby
7
+ authors:
8
+ - Ryan Bigg
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2012-12-09 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: spree_core
16
+ requirement: !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - '='
20
+ - !ruby/object:Gem::Version
21
+ version: 1.3.0.rc1
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - '='
28
+ - !ruby/object:Gem::Version
29
+ version: 1.3.0.rc1
30
+ - !ruby/object:Gem::Dependency
31
+ name: versioncake
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - '='
36
+ - !ruby/object:Gem::Version
37
+ version: 0.4.0
38
+ type: :runtime
39
+ prerelease: false
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - '='
44
+ - !ruby/object:Gem::Version
45
+ 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
+ description: Spree's API
79
+ email:
80
+ - ryan@spreecommerce.com
81
+ executables: []
82
+ extensions: []
83
+ extra_rdoc_files: []
84
+ files:
85
+ - .gitignore
86
+ - .rspec
87
+ - Gemfile
88
+ - LICENSE
89
+ - Rakefile
90
+ - app/controllers/spree/api/addresses_controller.rb
91
+ - app/controllers/spree/api/base_controller.rb
92
+ - app/controllers/spree/api/countries_controller.rb
93
+ - app/controllers/spree/api/images_controller.rb
94
+ - app/controllers/spree/api/line_items_controller.rb
95
+ - app/controllers/spree/api/orders_controller.rb
96
+ - app/controllers/spree/api/payments_controller.rb
97
+ - app/controllers/spree/api/product_properties_controller.rb
98
+ - app/controllers/spree/api/products_controller.rb
99
+ - app/controllers/spree/api/return_authorizations_controller.rb
100
+ - app/controllers/spree/api/shipments_controller.rb
101
+ - app/controllers/spree/api/taxonomies_controller.rb
102
+ - app/controllers/spree/api/taxons_controller.rb
103
+ - app/controllers/spree/api/variants_controller.rb
104
+ - app/controllers/spree/api/zones_controller.rb
105
+ - app/helpers/spree/api/api_helpers.rb
106
+ - app/models/spree/api_configuration.rb
107
+ - app/models/spree/line_item_decorator.rb
108
+ - app/models/spree/option_value_decorator.rb
109
+ - app/models/spree/order_decorator.rb
110
+ - app/models/spree/user_decorator.rb
111
+ - app/overrides/api_admin_user_edit_form.rb
112
+ - app/views/spree/admin/users/_api_fields.html.erb
113
+ - app/views/spree/api/addresses/show.v1.rabl
114
+ - app/views/spree/api/countries/index.v1.rabl
115
+ - app/views/spree/api/countries/show.v1.rabl
116
+ - app/views/spree/api/errors/gateway_error.v1.rabl
117
+ - app/views/spree/api/errors/invalid_api_key.v1.rabl
118
+ - app/views/spree/api/errors/invalid_resource.v1.rabl
119
+ - app/views/spree/api/errors/must_specify_api_key.v1.rabl
120
+ - app/views/spree/api/errors/not_found.v1.rabl
121
+ - app/views/spree/api/errors/unauthorized.v1.rabl
122
+ - app/views/spree/api/images/show.v1.rabl
123
+ - app/views/spree/api/line_items/new.v1.rabl
124
+ - app/views/spree/api/line_items/show.v1.rabl
125
+ - app/views/spree/api/orders/address.v1.rabl
126
+ - app/views/spree/api/orders/canceled.v1.rabl
127
+ - app/views/spree/api/orders/cart.v1.rabl
128
+ - app/views/spree/api/orders/complete.v1.rabl
129
+ - app/views/spree/api/orders/could_not_transition.v1.rabl
130
+ - app/views/spree/api/orders/delivery.v1.rabl
131
+ - app/views/spree/api/orders/index.v1.rabl
132
+ - app/views/spree/api/orders/invalid_shipping_method.v1.rabl
133
+ - app/views/spree/api/orders/payment.v1.rabl
134
+ - app/views/spree/api/orders/show.v1.rabl
135
+ - app/views/spree/api/payments/credit_over_limit.v1.rabl
136
+ - app/views/spree/api/payments/index.v1.rabl
137
+ - app/views/spree/api/payments/new.v1.rabl
138
+ - app/views/spree/api/payments/show.v1.rabl
139
+ - app/views/spree/api/product_properties/index.v1.rabl
140
+ - app/views/spree/api/product_properties/new.v1.rabl
141
+ - app/views/spree/api/product_properties/show.v1.rabl
142
+ - app/views/spree/api/products/index.v1.rabl
143
+ - app/views/spree/api/products/new.v1.rabl
144
+ - app/views/spree/api/products/product.v1.rabl
145
+ - app/views/spree/api/products/show.v1.rabl
146
+ - app/views/spree/api/return_authorizations/index.v1.rabl
147
+ - app/views/spree/api/return_authorizations/new.v1.rabl
148
+ - app/views/spree/api/return_authorizations/show.v1.rabl
149
+ - app/views/spree/api/shipments/cannot_ready_shipment.v1.rabl
150
+ - app/views/spree/api/shipments/show.v1.rabl
151
+ - app/views/spree/api/taxonomies/index.v1.rabl
152
+ - app/views/spree/api/taxonomies/nested.v1.rabl
153
+ - app/views/spree/api/taxonomies/new.v1.rabl
154
+ - app/views/spree/api/taxonomies/show.v1.rabl
155
+ - app/views/spree/api/taxons/index.v1.rabl
156
+ - app/views/spree/api/taxons/new.v1.rabl
157
+ - app/views/spree/api/taxons/show.v1.rabl
158
+ - app/views/spree/api/taxons/taxons.v1.rabl
159
+ - app/views/spree/api/variants/index.v1.rabl
160
+ - app/views/spree/api/variants/new.v1.rabl
161
+ - app/views/spree/api/variants/show.v1.rabl
162
+ - app/views/spree/api/variants/variant.v1.rabl
163
+ - app/views/spree/api/zones/index.v1.rabl
164
+ - app/views/spree/api/zones/show.v1.rabl
165
+ - config/initializers/metal_load_paths.rb
166
+ - config/locales/en.yml
167
+ - config/routes.rb
168
+ - db/migrate/20100107141738_add_api_key_to_spree_users.rb
169
+ - db/migrate/20120411123334_resize_api_key_field.rb
170
+ - db/migrate/20120530054546_rename_api_key_to_spree_api_key.rb
171
+ - lib/spree/api.rb
172
+ - lib/spree/api/controller_setup.rb
173
+ - lib/spree/api/engine.rb
174
+ - lib/spree/api/responders.rb
175
+ - lib/spree/api/responders/rabl_template.rb
176
+ - lib/spree/api/testing_support/helpers.rb
177
+ - lib/spree/api/testing_support/setup.rb
178
+ - lib/spree/api/version.rb
179
+ - lib/spree_api.rb
180
+ - script/rails
181
+ - spec/controllers/spree/api/addresses_controller_spec.rb
182
+ - spec/controllers/spree/api/base_controller_spec.rb
183
+ - spec/controllers/spree/api/countries_controller_spec.rb
184
+ - spec/controllers/spree/api/images_controller_spec.rb
185
+ - spec/controllers/spree/api/line_items_controller_spec.rb
186
+ - spec/controllers/spree/api/orders_controller_spec.rb
187
+ - spec/controllers/spree/api/payments_controller_spec.rb
188
+ - spec/controllers/spree/api/product_properties_controller_spec.rb
189
+ - spec/controllers/spree/api/products_controller_spec.rb
190
+ - spec/controllers/spree/api/return_authorizations_controller_spec.rb
191
+ - spec/controllers/spree/api/shipments_controller_spec.rb
192
+ - spec/controllers/spree/api/taxonomies_controller_spec.rb
193
+ - spec/controllers/spree/api/taxons_controller_spec.rb
194
+ - spec/controllers/spree/api/unauthenticated_products_controller_spec.rb
195
+ - spec/controllers/spree/api/variants_controller_spec.rb
196
+ - spec/controllers/spree/api/zones_controller_spec.rb
197
+ - spec/fixtures/thinking-cat.jpg
198
+ - spec/models/spree/legacy_user_spec.rb
199
+ - spec/models/spree/order_spec.rb
200
+ - spec/shared_examples/protect_product_actions.rb
201
+ - spec/spec_helper.rb
202
+ - spec/support/controller_hacks.rb
203
+ - spec/support/database_cleaner.rb
204
+ - spec/support/have_attributes_matcher.rb
205
+ - spree_api.gemspec
206
+ homepage: ''
207
+ licenses: []
208
+ post_install_message:
209
+ rdoc_options: []
210
+ require_paths:
211
+ - lib
212
+ required_ruby_version: !ruby/object:Gem::Requirement
213
+ none: false
214
+ requirements:
215
+ - - ! '>='
216
+ - !ruby/object:Gem::Version
217
+ version: '0'
218
+ required_rubygems_version: !ruby/object:Gem::Requirement
219
+ none: false
220
+ requirements:
221
+ - - ! '>'
222
+ - !ruby/object:Gem::Version
223
+ version: 1.3.1
224
+ requirements: []
225
+ rubyforge_project:
226
+ rubygems_version: 1.8.24
227
+ signing_key:
228
+ specification_version: 3
229
+ summary: Spree's API
230
+ test_files:
231
+ - spec/controllers/spree/api/addresses_controller_spec.rb
232
+ - spec/controllers/spree/api/base_controller_spec.rb
233
+ - spec/controllers/spree/api/countries_controller_spec.rb
234
+ - spec/controllers/spree/api/images_controller_spec.rb
235
+ - spec/controllers/spree/api/line_items_controller_spec.rb
236
+ - spec/controllers/spree/api/orders_controller_spec.rb
237
+ - spec/controllers/spree/api/payments_controller_spec.rb
238
+ - spec/controllers/spree/api/product_properties_controller_spec.rb
239
+ - spec/controllers/spree/api/products_controller_spec.rb
240
+ - spec/controllers/spree/api/return_authorizations_controller_spec.rb
241
+ - spec/controllers/spree/api/shipments_controller_spec.rb
242
+ - spec/controllers/spree/api/taxonomies_controller_spec.rb
243
+ - spec/controllers/spree/api/taxons_controller_spec.rb
244
+ - spec/controllers/spree/api/unauthenticated_products_controller_spec.rb
245
+ - spec/controllers/spree/api/variants_controller_spec.rb
246
+ - spec/controllers/spree/api/zones_controller_spec.rb
247
+ - spec/fixtures/thinking-cat.jpg
248
+ - spec/models/spree/legacy_user_spec.rb
249
+ - spec/models/spree/order_spec.rb
250
+ - spec/shared_examples/protect_product_actions.rb
251
+ - spec/spec_helper.rb
252
+ - spec/support/controller_hacks.rb
253
+ - spec/support/database_cleaner.rb
254
+ - spec/support/have_attributes_matcher.rb