effective_orders 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (146) hide show
  1. checksums.yaml +7 -0
  2. data/MIT-LICENSE +20 -0
  3. data/README.md +856 -0
  4. data/Rakefile +24 -0
  5. data/app/assets/images/effective_orders/stripe_connect.png +0 -0
  6. data/app/assets/javascripts/effective_orders/shipping_address_toggle.js.coffee +30 -0
  7. data/app/assets/javascripts/effective_orders/stripe_charges.js.coffee +26 -0
  8. data/app/assets/javascripts/effective_orders/stripe_subscriptions.js.coffee +28 -0
  9. data/app/assets/javascripts/effective_orders.js +2 -0
  10. data/app/assets/stylesheets/effective_orders/_order.scss +30 -0
  11. data/app/assets/stylesheets/effective_orders.css.scss +1 -0
  12. data/app/controllers/admin/customers_controller.rb +15 -0
  13. data/app/controllers/admin/orders_controller.rb +22 -0
  14. data/app/controllers/effective/carts_controller.rb +70 -0
  15. data/app/controllers/effective/orders_controller.rb +191 -0
  16. data/app/controllers/effective/providers/moneris.rb +94 -0
  17. data/app/controllers/effective/providers/paypal.rb +29 -0
  18. data/app/controllers/effective/providers/stripe.rb +125 -0
  19. data/app/controllers/effective/providers/stripe_connect.rb +47 -0
  20. data/app/controllers/effective/subscriptions_controller.rb +123 -0
  21. data/app/controllers/effective/webhooks_controller.rb +86 -0
  22. data/app/helpers/effective_carts_helper.rb +90 -0
  23. data/app/helpers/effective_orders_helper.rb +108 -0
  24. data/app/helpers/effective_paypal_helper.rb +37 -0
  25. data/app/helpers/effective_stripe_helper.rb +63 -0
  26. data/app/mailers/effective/orders_mailer.rb +64 -0
  27. data/app/models/concerns/acts_as_purchasable.rb +134 -0
  28. data/app/models/effective/access_denied.rb +17 -0
  29. data/app/models/effective/cart.rb +65 -0
  30. data/app/models/effective/cart_item.rb +40 -0
  31. data/app/models/effective/customer.rb +61 -0
  32. data/app/models/effective/datatables/customers.rb +45 -0
  33. data/app/models/effective/datatables/orders.rb +53 -0
  34. data/app/models/effective/order.rb +247 -0
  35. data/app/models/effective/order_item.rb +69 -0
  36. data/app/models/effective/stripe_charge.rb +35 -0
  37. data/app/models/effective/subscription.rb +95 -0
  38. data/app/models/inputs/price_field.rb +63 -0
  39. data/app/models/inputs/price_form_input.rb +7 -0
  40. data/app/models/inputs/price_formtastic_input.rb +9 -0
  41. data/app/models/inputs/price_input.rb +19 -0
  42. data/app/models/inputs/price_simple_form_input.rb +8 -0
  43. data/app/models/validators/effective/sold_out_validator.rb +7 -0
  44. data/app/views/active_admin/effective_orders/orders/_show.html.haml +70 -0
  45. data/app/views/admin/customers/_actions.html.haml +2 -0
  46. data/app/views/admin/customers/index.html.haml +10 -0
  47. data/app/views/admin/orders/index.html.haml +7 -0
  48. data/app/views/admin/orders/show.html.haml +11 -0
  49. data/app/views/effective/carts/_cart.html.haml +33 -0
  50. data/app/views/effective/carts/show.html.haml +18 -0
  51. data/app/views/effective/orders/_checkout_step_1.html.haml +39 -0
  52. data/app/views/effective/orders/_checkout_step_2.html.haml +18 -0
  53. data/app/views/effective/orders/_my_purchases.html.haml +15 -0
  54. data/app/views/effective/orders/_order.html.haml +4 -0
  55. data/app/views/effective/orders/_order_header.html.haml +21 -0
  56. data/app/views/effective/orders/_order_items.html.haml +39 -0
  57. data/app/views/effective/orders/_order_payment_details.html.haml +11 -0
  58. data/app/views/effective/orders/_order_shipping.html.haml +19 -0
  59. data/app/views/effective/orders/_order_user_fields.html.haml +10 -0
  60. data/app/views/effective/orders/checkout.html.haml +3 -0
  61. data/app/views/effective/orders/declined.html.haml +10 -0
  62. data/app/views/effective/orders/moneris/_form.html.haml +34 -0
  63. data/app/views/effective/orders/my_purchases.html.haml +6 -0
  64. data/app/views/effective/orders/my_sales.html.haml +28 -0
  65. data/app/views/effective/orders/new.html.haml +4 -0
  66. data/app/views/effective/orders/paypal/_form.html.haml +5 -0
  67. data/app/views/effective/orders/purchased.html.haml +10 -0
  68. data/app/views/effective/orders/show.html.haml +17 -0
  69. data/app/views/effective/orders/stripe/_form.html.haml +8 -0
  70. data/app/views/effective/orders/stripe/_subscription_fields.html.haml +7 -0
  71. data/app/views/effective/orders_mailer/order_receipt_to_admin.html.haml +8 -0
  72. data/app/views/effective/orders_mailer/order_receipt_to_buyer.html.haml +8 -0
  73. data/app/views/effective/orders_mailer/order_receipt_to_seller.html.haml +30 -0
  74. data/app/views/effective/subscriptions/index.html.haml +16 -0
  75. data/app/views/effective/subscriptions/new.html.haml +10 -0
  76. data/app/views/effective/subscriptions/show.html.haml +49 -0
  77. data/config/routes.rb +57 -0
  78. data/db/migrate/01_create_effective_orders.rb.erb +91 -0
  79. data/db/upgrade/02_upgrade_effective_orders_from03x.rb.erb +29 -0
  80. data/db/upgrade/upgrade_price_column_on_table.rb.erb +17 -0
  81. data/lib/effective_orders/engine.rb +52 -0
  82. data/lib/effective_orders/version.rb +3 -0
  83. data/lib/effective_orders.rb +76 -0
  84. data/lib/generators/effective_orders/install_generator.rb +38 -0
  85. data/lib/generators/effective_orders/upgrade_from03x_generator.rb +34 -0
  86. data/lib/generators/effective_orders/upgrade_price_column_generator.rb +34 -0
  87. data/lib/generators/templates/README +1 -0
  88. data/lib/generators/templates/effective_orders.rb +210 -0
  89. data/spec/controllers/carts_controller_spec.rb +143 -0
  90. data/spec/controllers/moneris_orders_controller_spec.rb +245 -0
  91. data/spec/controllers/orders_controller_spec.rb +418 -0
  92. data/spec/controllers/stripe_orders_controller_spec.rb +127 -0
  93. data/spec/controllers/webhooks_controller_spec.rb +79 -0
  94. data/spec/dummy/README.rdoc +8 -0
  95. data/spec/dummy/Rakefile +6 -0
  96. data/spec/dummy/app/assets/javascripts/application.js +13 -0
  97. data/spec/dummy/app/assets/stylesheets/application.css +15 -0
  98. data/spec/dummy/app/controllers/application_controller.rb +5 -0
  99. data/spec/dummy/app/helpers/application_helper.rb +2 -0
  100. data/spec/dummy/app/models/product.rb +17 -0
  101. data/spec/dummy/app/models/product_with_float_price.rb +17 -0
  102. data/spec/dummy/app/models/user.rb +28 -0
  103. data/spec/dummy/app/views/layouts/application.html.erb +14 -0
  104. data/spec/dummy/bin/bundle +3 -0
  105. data/spec/dummy/bin/rails +4 -0
  106. data/spec/dummy/bin/rake +4 -0
  107. data/spec/dummy/config/application.rb +31 -0
  108. data/spec/dummy/config/boot.rb +5 -0
  109. data/spec/dummy/config/database.yml +25 -0
  110. data/spec/dummy/config/environment.rb +5 -0
  111. data/spec/dummy/config/environments/development.rb +37 -0
  112. data/spec/dummy/config/environments/production.rb +83 -0
  113. data/spec/dummy/config/environments/test.rb +39 -0
  114. data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
  115. data/spec/dummy/config/initializers/cookies_serializer.rb +3 -0
  116. data/spec/dummy/config/initializers/devise.rb +254 -0
  117. data/spec/dummy/config/initializers/effective_addresses.rb +15 -0
  118. data/spec/dummy/config/initializers/effective_orders.rb +22 -0
  119. data/spec/dummy/config/initializers/filter_parameter_logging.rb +4 -0
  120. data/spec/dummy/config/initializers/inflections.rb +16 -0
  121. data/spec/dummy/config/initializers/mime_types.rb +4 -0
  122. data/spec/dummy/config/initializers/session_store.rb +3 -0
  123. data/spec/dummy/config/initializers/wrap_parameters.rb +14 -0
  124. data/spec/dummy/config/locales/en.yml +23 -0
  125. data/spec/dummy/config/routes.rb +3 -0
  126. data/spec/dummy/config/secrets.yml +22 -0
  127. data/spec/dummy/config.ru +4 -0
  128. data/spec/dummy/db/schema.rb +142 -0
  129. data/spec/dummy/db/test.sqlite3 +0 -0
  130. data/spec/dummy/log/development.log +487 -0
  131. data/spec/dummy/log/test.log +347 -0
  132. data/spec/dummy/public/404.html +67 -0
  133. data/spec/dummy/public/422.html +67 -0
  134. data/spec/dummy/public/500.html +66 -0
  135. data/spec/dummy/public/favicon.ico +0 -0
  136. data/spec/helpers/effective_orders_helper_spec.rb +21 -0
  137. data/spec/models/acts_as_purchasable_spec.rb +107 -0
  138. data/spec/models/customer_spec.rb +71 -0
  139. data/spec/models/factories_spec.rb +13 -0
  140. data/spec/models/order_item_spec.rb +35 -0
  141. data/spec/models/order_spec.rb +323 -0
  142. data/spec/models/stripe_charge_spec.rb +39 -0
  143. data/spec/models/subscription_spec.rb +103 -0
  144. data/spec/spec_helper.rb +44 -0
  145. data/spec/support/factories.rb +118 -0
  146. metadata +387 -0
@@ -0,0 +1,44 @@
1
+ ENV["RAILS_ENV"] ||= 'test'
2
+
3
+ require File.expand_path("../dummy/config/environment", __FILE__)
4
+
5
+ require 'rspec/rails'
6
+ require 'rspec/autorun'
7
+ require 'factory_girl_rails'
8
+ require 'stripe_mock'
9
+
10
+ # Requires supporting ruby files with custom matchers and macros, etc,
11
+ # in spec/support/ and its subdirectories.
12
+ Dir[Rails.root.join("../../spec/support/**/*.rb")].each {|f| require f }
13
+
14
+ RSpec.configure do |config|
15
+ config.fixture_path = "#{::Rails.root}/spec/fixtures"
16
+
17
+ config.include Devise::TestHelpers, :type => :controller
18
+
19
+ Rails.logger.level = 4 # Output only minimal stuff to test.log
20
+
21
+ config.use_transactional_fixtures = true # Make this false to once again use DatabaseCleaner
22
+ config.order = 'random'
23
+ end
24
+
25
+ class ActiveRecord::Base
26
+ mattr_accessor :shared_connection
27
+ @@shared_connection = nil
28
+
29
+ def self.connection
30
+ @@shared_connection || retrieve_connection
31
+ end
32
+ end
33
+
34
+ # Forces all threads to share the same connection. This works on
35
+ # Capybara because it starts the web server in a thread.
36
+ ActiveRecord::Base.shared_connection = ActiveRecord::Base.connection
37
+
38
+
39
+ # To set up this gem for testing:
40
+ # spec/dummy> ln -s ../../spec spec
41
+ #
42
+ # spec/dummy> rails generate effective_orders:install
43
+ # spec/dummy> rake db:migrate
44
+ # spec/dummy> rake db:test:prepare
@@ -0,0 +1,118 @@
1
+ require 'factory_girl'
2
+
3
+ FactoryGirl.define do
4
+ factory :address, :class => Effective::Address do
5
+ category 'billing'
6
+ full_name 'Peter Pan'
7
+ sequence(:address1) { |n| "1234#{n} Fake Street" }
8
+ city 'San Antonio'
9
+ state_code 'TX'
10
+ country_code 'US'
11
+ postal_code '92387'
12
+ end
13
+
14
+ factory :product do # This only exists in the dummy/ app
15
+ sequence(:title) { |n| "Product #{n}" }
16
+
17
+ price 1000
18
+ tax_exempt false
19
+ end
20
+
21
+ factory :product_with_float_price do # This only exists in the dummy/ app
22
+ sequence(:title) { |n| "Product #{n}" }
23
+
24
+ price 10.00
25
+ tax_exempt false
26
+ end
27
+
28
+ factory :user do # This only exists in the dummy/ app
29
+ sequence(:email) { |n| "user_#{n}@effective_orders.test"}
30
+
31
+ password '12345678'
32
+
33
+ after(:build) { |user| user.skip_confirmation! if user.respond_to?(:skip_confirmation!) }
34
+ end
35
+
36
+ factory :customer, :class => Effective::Customer do
37
+ association :user
38
+ end
39
+
40
+ factory :subscription, :class => Effective::Subscription do
41
+ association :customer
42
+
43
+ before(:create) do |subscription|
44
+ stripe_plan = Stripe::Plan.create()
45
+ stripe_coupon = Stripe::Coupon.create()
46
+
47
+ subscription.stripe_plan_id = stripe_plan.id
48
+ subscription.stripe_coupon_id = stripe_coupon.id
49
+ end
50
+ end
51
+
52
+ factory :cart, :class => Effective::Cart do
53
+ association :user
54
+
55
+ before(:create) do |cart|
56
+ 3.times { cart.cart_items << FactoryGirl.create(:cart_item, :cart => cart) }
57
+ end
58
+ end
59
+
60
+ factory :cart_item, :class => Effective::CartItem do
61
+ association :purchasable, :factory => :product
62
+ association :cart, :factory => :cart
63
+
64
+ quantity 1
65
+ end
66
+
67
+ factory :cart_with_subscription, :class => Effective::Cart do
68
+ association :user
69
+
70
+ before(:create) do |cart|
71
+ cart.cart_items << FactoryGirl.create(:cart_item, :cart => cart)
72
+ cart.cart_items << FactoryGirl.create(:cart_item, :cart => cart, :purchasable => FactoryGirl.create(:subscription))
73
+ end
74
+ end
75
+
76
+ factory :order, :class => Effective::Order do
77
+ association :user
78
+
79
+ before(:create) do |order|
80
+ order.billing_address = FactoryGirl.build(:address, :addressable => order)
81
+ order.shipping_address = FactoryGirl.build(:address, :addressable => order)
82
+
83
+ 3.times { order.order_items << FactoryGirl.create(:order_item, :order => order) }
84
+ end
85
+ end
86
+
87
+ factory :order_with_subscription, :class => Effective::Order do
88
+ association :user
89
+
90
+ before(:create) do |order|
91
+ order.billing_address = FactoryGirl.build(:address, :addressable => order)
92
+ order.shipping_address = FactoryGirl.build(:address, :addressable => order)
93
+
94
+ order.order_items << FactoryGirl.create(:order_item, :order => order)
95
+ order.order_items << FactoryGirl.create(:order_item, :purchasable => FactoryGirl.create(:subscription), :order => order)
96
+ end
97
+ end
98
+
99
+ factory :order_item, :class => Effective::OrderItem do
100
+ association :purchasable, :factory => :product
101
+ association :order, :factory => :order
102
+
103
+ sequence(:title) { |n| "Order Item #{n}" }
104
+ quantity 1
105
+ price 1000
106
+ tax_exempt false
107
+ tax_rate 0.05
108
+ end
109
+
110
+ factory :purchased_order, :parent => :order do
111
+ after(:create) { |order| order.purchase! }
112
+ end
113
+
114
+ factory :declined_order, :parent => :order do
115
+ after(:create) { |order| order.decline! }
116
+ end
117
+
118
+ end
metadata ADDED
@@ -0,0 +1,387 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: effective_orders
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0
5
+ platform: ruby
6
+ authors:
7
+ - Code and Effect
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2014-12-08 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rails
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: 3.2.0
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: 3.2.0
27
+ - !ruby/object:Gem::Dependency
28
+ name: coffee-rails
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: devise
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: haml
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: migrant
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: simple_form
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: effective_addresses
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: 1.0.0
104
+ type: :runtime
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ version: 1.0.0
111
+ - !ruby/object:Gem::Dependency
112
+ name: effective_obfuscation
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - ">="
116
+ - !ruby/object:Gem::Version
117
+ version: 1.0.0
118
+ type: :runtime
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ">="
123
+ - !ruby/object:Gem::Version
124
+ version: 1.0.0
125
+ - !ruby/object:Gem::Dependency
126
+ name: stripe
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - ">="
130
+ - !ruby/object:Gem::Version
131
+ version: '0'
132
+ type: :runtime
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - ">="
137
+ - !ruby/object:Gem::Version
138
+ version: '0'
139
+ - !ruby/object:Gem::Dependency
140
+ name: stripe-ruby-mock
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - ">="
144
+ - !ruby/object:Gem::Version
145
+ version: '0'
146
+ type: :development
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - ">="
151
+ - !ruby/object:Gem::Version
152
+ version: '0'
153
+ description: Quickly build an online store with carts, orders, automatic email receipts
154
+ and payment collection via Stripe, StripeConnect, PayPal and Moneris.
155
+ email:
156
+ - info@codeandeffect.com
157
+ executables: []
158
+ extensions: []
159
+ extra_rdoc_files: []
160
+ files:
161
+ - MIT-LICENSE
162
+ - README.md
163
+ - Rakefile
164
+ - app/assets/images/effective_orders/stripe_connect.png
165
+ - app/assets/javascripts/effective_orders.js
166
+ - app/assets/javascripts/effective_orders/shipping_address_toggle.js.coffee
167
+ - app/assets/javascripts/effective_orders/stripe_charges.js.coffee
168
+ - app/assets/javascripts/effective_orders/stripe_subscriptions.js.coffee
169
+ - app/assets/stylesheets/effective_orders.css.scss
170
+ - app/assets/stylesheets/effective_orders/_order.scss
171
+ - app/controllers/admin/customers_controller.rb
172
+ - app/controllers/admin/orders_controller.rb
173
+ - app/controllers/effective/carts_controller.rb
174
+ - app/controllers/effective/orders_controller.rb
175
+ - app/controllers/effective/providers/moneris.rb
176
+ - app/controllers/effective/providers/paypal.rb
177
+ - app/controllers/effective/providers/stripe.rb
178
+ - app/controllers/effective/providers/stripe_connect.rb
179
+ - app/controllers/effective/subscriptions_controller.rb
180
+ - app/controllers/effective/webhooks_controller.rb
181
+ - app/helpers/effective_carts_helper.rb
182
+ - app/helpers/effective_orders_helper.rb
183
+ - app/helpers/effective_paypal_helper.rb
184
+ - app/helpers/effective_stripe_helper.rb
185
+ - app/mailers/effective/orders_mailer.rb
186
+ - app/models/concerns/acts_as_purchasable.rb
187
+ - app/models/effective/access_denied.rb
188
+ - app/models/effective/cart.rb
189
+ - app/models/effective/cart_item.rb
190
+ - app/models/effective/customer.rb
191
+ - app/models/effective/datatables/customers.rb
192
+ - app/models/effective/datatables/orders.rb
193
+ - app/models/effective/order.rb
194
+ - app/models/effective/order_item.rb
195
+ - app/models/effective/stripe_charge.rb
196
+ - app/models/effective/subscription.rb
197
+ - app/models/inputs/price_field.rb
198
+ - app/models/inputs/price_form_input.rb
199
+ - app/models/inputs/price_formtastic_input.rb
200
+ - app/models/inputs/price_input.rb
201
+ - app/models/inputs/price_simple_form_input.rb
202
+ - app/models/validators/effective/sold_out_validator.rb
203
+ - app/views/active_admin/effective_orders/orders/_show.html.haml
204
+ - app/views/admin/customers/_actions.html.haml
205
+ - app/views/admin/customers/index.html.haml
206
+ - app/views/admin/orders/index.html.haml
207
+ - app/views/admin/orders/show.html.haml
208
+ - app/views/effective/carts/_cart.html.haml
209
+ - app/views/effective/carts/show.html.haml
210
+ - app/views/effective/orders/_checkout_step_1.html.haml
211
+ - app/views/effective/orders/_checkout_step_2.html.haml
212
+ - app/views/effective/orders/_my_purchases.html.haml
213
+ - app/views/effective/orders/_order.html.haml
214
+ - app/views/effective/orders/_order_header.html.haml
215
+ - app/views/effective/orders/_order_items.html.haml
216
+ - app/views/effective/orders/_order_payment_details.html.haml
217
+ - app/views/effective/orders/_order_shipping.html.haml
218
+ - app/views/effective/orders/_order_user_fields.html.haml
219
+ - app/views/effective/orders/checkout.html.haml
220
+ - app/views/effective/orders/declined.html.haml
221
+ - app/views/effective/orders/moneris/_form.html.haml
222
+ - app/views/effective/orders/my_purchases.html.haml
223
+ - app/views/effective/orders/my_sales.html.haml
224
+ - app/views/effective/orders/new.html.haml
225
+ - app/views/effective/orders/paypal/_form.html.haml
226
+ - app/views/effective/orders/purchased.html.haml
227
+ - app/views/effective/orders/show.html.haml
228
+ - app/views/effective/orders/stripe/_form.html.haml
229
+ - app/views/effective/orders/stripe/_subscription_fields.html.haml
230
+ - app/views/effective/orders_mailer/order_receipt_to_admin.html.haml
231
+ - app/views/effective/orders_mailer/order_receipt_to_buyer.html.haml
232
+ - app/views/effective/orders_mailer/order_receipt_to_seller.html.haml
233
+ - app/views/effective/subscriptions/index.html.haml
234
+ - app/views/effective/subscriptions/new.html.haml
235
+ - app/views/effective/subscriptions/show.html.haml
236
+ - config/routes.rb
237
+ - db/migrate/01_create_effective_orders.rb.erb
238
+ - db/upgrade/02_upgrade_effective_orders_from03x.rb.erb
239
+ - db/upgrade/upgrade_price_column_on_table.rb.erb
240
+ - lib/effective_orders.rb
241
+ - lib/effective_orders/engine.rb
242
+ - lib/effective_orders/version.rb
243
+ - lib/generators/effective_orders/install_generator.rb
244
+ - lib/generators/effective_orders/upgrade_from03x_generator.rb
245
+ - lib/generators/effective_orders/upgrade_price_column_generator.rb
246
+ - lib/generators/templates/README
247
+ - lib/generators/templates/effective_orders.rb
248
+ - spec/controllers/carts_controller_spec.rb
249
+ - spec/controllers/moneris_orders_controller_spec.rb
250
+ - spec/controllers/orders_controller_spec.rb
251
+ - spec/controllers/stripe_orders_controller_spec.rb
252
+ - spec/controllers/webhooks_controller_spec.rb
253
+ - spec/dummy/README.rdoc
254
+ - spec/dummy/Rakefile
255
+ - spec/dummy/app/assets/javascripts/application.js
256
+ - spec/dummy/app/assets/stylesheets/application.css
257
+ - spec/dummy/app/controllers/application_controller.rb
258
+ - spec/dummy/app/helpers/application_helper.rb
259
+ - spec/dummy/app/models/product.rb
260
+ - spec/dummy/app/models/product_with_float_price.rb
261
+ - spec/dummy/app/models/user.rb
262
+ - spec/dummy/app/views/layouts/application.html.erb
263
+ - spec/dummy/bin/bundle
264
+ - spec/dummy/bin/rails
265
+ - spec/dummy/bin/rake
266
+ - spec/dummy/config.ru
267
+ - spec/dummy/config/application.rb
268
+ - spec/dummy/config/boot.rb
269
+ - spec/dummy/config/database.yml
270
+ - spec/dummy/config/environment.rb
271
+ - spec/dummy/config/environments/development.rb
272
+ - spec/dummy/config/environments/production.rb
273
+ - spec/dummy/config/environments/test.rb
274
+ - spec/dummy/config/initializers/backtrace_silencers.rb
275
+ - spec/dummy/config/initializers/cookies_serializer.rb
276
+ - spec/dummy/config/initializers/devise.rb
277
+ - spec/dummy/config/initializers/effective_addresses.rb
278
+ - spec/dummy/config/initializers/effective_orders.rb
279
+ - spec/dummy/config/initializers/filter_parameter_logging.rb
280
+ - spec/dummy/config/initializers/inflections.rb
281
+ - spec/dummy/config/initializers/mime_types.rb
282
+ - spec/dummy/config/initializers/session_store.rb
283
+ - spec/dummy/config/initializers/wrap_parameters.rb
284
+ - spec/dummy/config/locales/en.yml
285
+ - spec/dummy/config/routes.rb
286
+ - spec/dummy/config/secrets.yml
287
+ - spec/dummy/db/schema.rb
288
+ - spec/dummy/db/test.sqlite3
289
+ - spec/dummy/log/development.log
290
+ - spec/dummy/log/test.log
291
+ - spec/dummy/public/404.html
292
+ - spec/dummy/public/422.html
293
+ - spec/dummy/public/500.html
294
+ - spec/dummy/public/favicon.ico
295
+ - spec/helpers/effective_orders_helper_spec.rb
296
+ - spec/models/acts_as_purchasable_spec.rb
297
+ - spec/models/customer_spec.rb
298
+ - spec/models/factories_spec.rb
299
+ - spec/models/order_item_spec.rb
300
+ - spec/models/order_spec.rb
301
+ - spec/models/stripe_charge_spec.rb
302
+ - spec/models/subscription_spec.rb
303
+ - spec/spec_helper.rb
304
+ - spec/support/factories.rb
305
+ homepage: https://github.com/code-and-effect/effective_orders
306
+ licenses:
307
+ - MIT
308
+ metadata: {}
309
+ post_install_message:
310
+ rdoc_options: []
311
+ require_paths:
312
+ - lib
313
+ required_ruby_version: !ruby/object:Gem::Requirement
314
+ requirements:
315
+ - - ">="
316
+ - !ruby/object:Gem::Version
317
+ version: '0'
318
+ required_rubygems_version: !ruby/object:Gem::Requirement
319
+ requirements:
320
+ - - ">="
321
+ - !ruby/object:Gem::Version
322
+ version: '0'
323
+ requirements: []
324
+ rubyforge_project:
325
+ rubygems_version: 2.2.0
326
+ signing_key:
327
+ specification_version: 4
328
+ summary: Quickly build an online store with carts, orders, automatic email receipts
329
+ and payment collection via Stripe, StripeConnect, PayPal and Moneris.
330
+ test_files:
331
+ - spec/controllers/carts_controller_spec.rb
332
+ - spec/controllers/moneris_orders_controller_spec.rb
333
+ - spec/controllers/orders_controller_spec.rb
334
+ - spec/controllers/stripe_orders_controller_spec.rb
335
+ - spec/controllers/webhooks_controller_spec.rb
336
+ - spec/dummy/app/assets/javascripts/application.js
337
+ - spec/dummy/app/assets/stylesheets/application.css
338
+ - spec/dummy/app/controllers/application_controller.rb
339
+ - spec/dummy/app/helpers/application_helper.rb
340
+ - spec/dummy/app/models/product.rb
341
+ - spec/dummy/app/models/product_with_float_price.rb
342
+ - spec/dummy/app/models/user.rb
343
+ - spec/dummy/app/views/layouts/application.html.erb
344
+ - spec/dummy/bin/bundle
345
+ - spec/dummy/bin/rails
346
+ - spec/dummy/bin/rake
347
+ - spec/dummy/config/application.rb
348
+ - spec/dummy/config/boot.rb
349
+ - spec/dummy/config/database.yml
350
+ - spec/dummy/config/environment.rb
351
+ - spec/dummy/config/environments/development.rb
352
+ - spec/dummy/config/environments/production.rb
353
+ - spec/dummy/config/environments/test.rb
354
+ - spec/dummy/config/initializers/backtrace_silencers.rb
355
+ - spec/dummy/config/initializers/cookies_serializer.rb
356
+ - spec/dummy/config/initializers/devise.rb
357
+ - spec/dummy/config/initializers/effective_addresses.rb
358
+ - spec/dummy/config/initializers/effective_orders.rb
359
+ - spec/dummy/config/initializers/filter_parameter_logging.rb
360
+ - spec/dummy/config/initializers/inflections.rb
361
+ - spec/dummy/config/initializers/mime_types.rb
362
+ - spec/dummy/config/initializers/session_store.rb
363
+ - spec/dummy/config/initializers/wrap_parameters.rb
364
+ - spec/dummy/config/locales/en.yml
365
+ - spec/dummy/config/routes.rb
366
+ - spec/dummy/config/secrets.yml
367
+ - spec/dummy/config.ru
368
+ - spec/dummy/db/schema.rb
369
+ - spec/dummy/db/test.sqlite3
370
+ - spec/dummy/log/development.log
371
+ - spec/dummy/log/test.log
372
+ - spec/dummy/public/404.html
373
+ - spec/dummy/public/422.html
374
+ - spec/dummy/public/500.html
375
+ - spec/dummy/public/favicon.ico
376
+ - spec/dummy/Rakefile
377
+ - spec/dummy/README.rdoc
378
+ - spec/helpers/effective_orders_helper_spec.rb
379
+ - spec/models/acts_as_purchasable_spec.rb
380
+ - spec/models/customer_spec.rb
381
+ - spec/models/factories_spec.rb
382
+ - spec/models/order_item_spec.rb
383
+ - spec/models/order_spec.rb
384
+ - spec/models/stripe_charge_spec.rb
385
+ - spec/models/subscription_spec.rb
386
+ - spec/spec_helper.rb
387
+ - spec/support/factories.rb