comable 0.0.3 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +8 -0
  3. data/Rakefile +60 -4
  4. data/lib/comable/version.rb +14 -1
  5. data/lib/comable.rb +4 -8
  6. metadata +18 -244
  7. data/app/assets/javascripts/comable/application.js +0 -13
  8. data/app/assets/stylesheets/comable/application.css +0 -13
  9. data/app/controllers/comable/application_controller.rb +0 -5
  10. data/app/controllers/comable/carts_controller.rb +0 -40
  11. data/app/controllers/comable/orders_controller.rb +0 -115
  12. data/app/controllers/comable/products_controller.rb +0 -11
  13. data/app/helpers/comable/application_helper.rb +0 -18
  14. data/app/helpers/comable/products_helper.rb +0 -55
  15. data/app/models/comable/customer.rb +0 -97
  16. data/app/models/comable/order.rb +0 -93
  17. data/app/models/comable/order_delivery.rb +0 -16
  18. data/app/models/comable/order_detail.rb +0 -42
  19. data/app/models/comable/payment.rb +0 -26
  20. data/app/models/comable/product.rb +0 -32
  21. data/app/models/comable/stock.rb +0 -82
  22. data/app/views/comable/carts/show.slim +0 -22
  23. data/app/views/comable/orders/confirm.slim +0 -25
  24. data/app/views/comable/orders/create.slim +0 -5
  25. data/app/views/comable/orders/delivery.slim +0 -8
  26. data/app/views/comable/orders/new.slim +0 -4
  27. data/app/views/comable/orders/orderer.slim +0 -7
  28. data/app/views/comable/orders/payment.slim +0 -12
  29. data/app/views/comable/products/index.slim +0 -11
  30. data/app/views/comable/products/show.slim +0 -21
  31. data/app/views/layouts/comable/application.slim +0 -11
  32. data/config/locales/ja.yml +0 -11
  33. data/config/routes.rb +0 -23
  34. data/db/migrate/20131214194807_create_comable_products.rb +0 -14
  35. data/db/migrate/20140120032559_create_comable_customers.rb +0 -8
  36. data/db/migrate/20140502060116_create_comable_stocks.rb +0 -14
  37. data/db/migrate/20140723175431_create_comable_orders.rb +0 -15
  38. data/db/migrate/20140723175624_create_comable_order_deliveries.rb +0 -9
  39. data/db/migrate/20140723175810_create_comable_order_details.rb +0 -12
  40. data/db/migrate/20140817194104_create_comable_payments.rb +0 -11
  41. data/lib/comable/cart_owner.rb +0 -79
  42. data/lib/comable/decoratable.rb +0 -10
  43. data/lib/comable/engine.rb +0 -7
  44. data/lib/comable/errors.rb +0 -4
  45. data/lib/comable/migration.rb +0 -16
  46. data/lib/comable/payment_method/base.rb +0 -26
  47. data/lib/comable/payment_method/general.rb +0 -15
  48. data/lib/comable/payment_method.rb +0 -14
  49. data/lib/tasks/comable_tasks.rake +0 -4
  50. data/lib/tasks/comable_yardoc.task +0 -14
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: fa8570f259479b4b4a76b6c53c7b0619f43268e0
4
- data.tar.gz: 20638bda91ba247e08fb561a27168f8ec67423af
3
+ metadata.gz: 5e26c4d546c98e26260497adc0613f4a026defb6
4
+ data.tar.gz: 5717c9f0e7eecf56f182742768c267def53d806c
5
5
  SHA512:
6
- metadata.gz: dbb7f75de40ca35dfc593a5a78bcc7808e0d183667a40c78cb36e2d097485125c9425bbee8d8d9207cf7fb01a3263c7fc6b01e3dab0b141f0b94905985d95e66
7
- data.tar.gz: 3f2ccc2dd66370b11f1dfa8651b3e1a7052a18b5e953ecc6ad3cc4ec0db03c7ed878f64cc2cd246591a780d0a90e49ffe6f8cfdf47e26ff47c6b2620b160a427
6
+ metadata.gz: 937e3c6ec8570df928d89cbf0f442558f645e05b6a4d374203e360be433a595273e1a719c82cfceb57f75bbba94e3b62e1b2b2f2b70d9d5a3ea9d1a5e4c7a45c
7
+ data.tar.gz: 8756d3132d009f6eb2ed6aa1db01147b3e0ee791901057b01c8ec7dcd20249d4a03d7a43ff32a434fc0d07b9bc45827b6297a5f0c7822a49f0bc31d77ef113c4
data/README.md CHANGED
@@ -27,6 +27,14 @@ Comable provides a simple way to add e-commerce features to your Ruby on Rails a
27
27
  bundle exec rake comable:install:migrations
28
28
  ```
29
29
 
30
+ 4. Add routes in the `config/routes.rb`
31
+
32
+ ```bash
33
+ Rails.application.routes.draw do
34
+ mount Comable::Core::Engine => '/comable'
35
+ end
36
+ ```
37
+
30
38
  ## Requirements
31
39
 
32
40
  * Ruby on Rails 3.2, 4.1
data/Rakefile CHANGED
@@ -6,6 +6,9 @@ end
6
6
 
7
7
  require 'rdoc/task'
8
8
 
9
+ $LOAD_PATH.unshift File.expand_path('..', __FILE__)
10
+ require 'tasks/release'
11
+
9
12
  RDoc::Task.new(:rdoc) do |rdoc|
10
13
  rdoc.rdoc_dir = 'rdoc'
11
14
  rdoc.title = 'Comable'
@@ -13,8 +16,63 @@ RDoc::Task.new(:rdoc) do |rdoc|
13
16
  rdoc.rdoc_files.include('lib/**/*.rb')
14
17
  end
15
18
 
16
- APP_RAKEFILE = File.expand_path('../spec/dummy/Rakefile', __FILE__)
17
- load 'rails/tasks/engine.rake'
19
+ if ENV['COMABLE_NESTED']
20
+ task default: ['app:spec', 'rubocop']
21
+ else
22
+ APP_RAKEFILE = File.expand_path('../spec/dummy/Rakefile', __FILE__)
23
+ load 'rails/tasks/engine.rake'
24
+
25
+ namespace :app do
26
+ namespace :spec do
27
+ desc 'Run the code examples'
28
+ RSpec::Core::RakeTask.new(:all) do |t|
29
+ FRAMEWORKS.each do |framework|
30
+ t.pattern << ",#{framework}/spec/**{,/*/**}/*_spec.rb"
31
+ end
32
+ end
33
+
34
+ FRAMEWORKS.each do |framework|
35
+ desc "Run the code examples in #{framework}/spec"
36
+ RSpec::Core::RakeTask.new(framework) do |t|
37
+ t.pattern = "../#{framework}/spec/**{,/*/**}/*_spec.rb"
38
+ end
39
+ end
40
+ end
41
+ end
42
+
43
+ namespace :db do
44
+ task 'migrate' => 'app:db:migrate'
45
+ task 'app:db:migrate' => 'migrate:all'
46
+
47
+ namespace :migrate do
48
+ task :all do
49
+ FRAMEWORKS.each do |framework|
50
+ command = "cd #{framework} && test -d db && bundle exec rake db:migrate RAILS_ENV=#{Rails.env} COMABLE_NESTED=true"
51
+ puts command
52
+ system command
53
+ end
54
+ end
55
+ end
56
+
57
+ namespace :migrate do
58
+ task 'reset' => 'app:db:migrate:reset'
59
+ task 'app:db:migrate:reset' => 'app:db:migrate'
60
+ task 'app:db:migrate' => 'reset:all'
61
+
62
+ namespace :reset do
63
+ task :all do
64
+ FRAMEWORKS.each do |framework|
65
+ command = "cd #{framework} && test -d db && bundle exec rake db:migrate:reset RAILS_ENV=#{Rails.env} COMABLE_NESTED=true"
66
+ puts command
67
+ system command
68
+ end
69
+ end
70
+ end
71
+ end
72
+ end
73
+
74
+ task default: ['app:spec:all', 'rubocop']
75
+ end
18
76
 
19
77
  Bundler::GemHelper.install_tasks
20
78
 
@@ -24,5 +82,3 @@ task 'test:prepare'
24
82
  task :rubocop do
25
83
  exec 'rubocop'
26
84
  end
27
-
28
- task default: ['app:spec', 'rubocop']
@@ -1,3 +1,16 @@
1
1
  module Comable
2
- VERSION = '0.0.3'
2
+ class << self
3
+ def gem_version
4
+ Gem::Version.new VERSION::STRING
5
+ end
6
+
7
+ def version
8
+ VERSION::STRING
9
+ end
10
+ end
11
+
12
+ module VERSION
13
+ STRING = File.read(File.expand_path('../../../COMABLE_VERSION', __FILE__)).strip
14
+ MAJOR, MINOR, TINY, PRE = Comable.gem_version.segments
15
+ end
3
16
  end
data/lib/comable.rb CHANGED
@@ -1,9 +1,5 @@
1
- require 'comable/engine'
2
- require 'comable/migration'
3
- require 'comable/decoratable'
4
- require 'comable/errors'
5
- require 'comable/cart_owner'
6
- require 'comable/payment_method'
1
+ require 'comable/version'
7
2
 
8
- module Comable
9
- end
3
+ require 'comable_core'
4
+ require 'comable_frontend'
5
+ require 'comable_backend'
metadata CHANGED
@@ -1,239 +1,57 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: comable
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - YOSHIDA Hiroki
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-08-17 00:00:00.000000000 Z
11
+ date: 2014-09-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: rails
14
+ name: comable_core
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ">="
17
+ - - '='
18
18
  - !ruby/object:Gem::Version
19
- version: 3.2.0
19
+ version: 0.1.0
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: 3.2.0
26
+ version: 0.1.0
27
27
  - !ruby/object:Gem::Dependency
28
- name: slim-rails
28
+ name: comable_frontend
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ">="
31
+ - - '='
32
32
  - !ruby/object:Gem::Version
33
- version: '0'
33
+ version: 0.1.0
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ">="
38
+ - - '='
39
39
  - !ruby/object:Gem::Version
40
- version: '0'
40
+ version: 0.1.0
41
41
  - !ruby/object:Gem::Dependency
42
- name: pg
42
+ name: comable_backend
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ">="
45
+ - - '='
46
46
  - !ruby/object:Gem::Version
47
- version: '0'
48
- type: :development
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: rspec-rails
57
- requirement: !ruby/object:Gem::Requirement
58
- requirements:
59
- - - ">="
60
- - !ruby/object:Gem::Version
61
- version: '0'
62
- type: :development
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: rspec-its
71
- requirement: !ruby/object:Gem::Requirement
72
- requirements:
73
- - - ">="
74
- - !ruby/object:Gem::Version
75
- version: '0'
76
- type: :development
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: rspec-example_steps
85
- requirement: !ruby/object:Gem::Requirement
86
- requirements:
87
- - - ">="
88
- - !ruby/object:Gem::Version
89
- version: '0'
90
- type: :development
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: factory_girl_rails
99
- requirement: !ruby/object:Gem::Requirement
100
- requirements:
101
- - - ">="
102
- - !ruby/object:Gem::Version
103
- version: '0'
104
- type: :development
105
- prerelease: false
106
- version_requirements: !ruby/object:Gem::Requirement
107
- requirements:
108
- - - ">="
109
- - !ruby/object:Gem::Version
110
- version: '0'
111
- - !ruby/object:Gem::Dependency
112
- name: capybara
113
- requirement: !ruby/object:Gem::Requirement
114
- requirements:
115
- - - ">="
116
- - !ruby/object:Gem::Version
117
- version: '0'
118
- type: :development
119
- prerelease: false
120
- version_requirements: !ruby/object:Gem::Requirement
121
- requirements:
122
- - - ">="
123
- - !ruby/object:Gem::Version
124
- version: '0'
125
- - !ruby/object:Gem::Dependency
126
- name: coveralls
127
- requirement: !ruby/object:Gem::Requirement
128
- requirements:
129
- - - ">="
130
- - !ruby/object:Gem::Version
131
- version: '0'
132
- type: :development
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: rubocop
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
- - !ruby/object:Gem::Dependency
154
- name: bullet
155
- requirement: !ruby/object:Gem::Requirement
156
- requirements:
157
- - - ">="
158
- - !ruby/object:Gem::Version
159
- version: '0'
160
- type: :development
161
- prerelease: false
162
- version_requirements: !ruby/object:Gem::Requirement
163
- requirements:
164
- - - ">="
165
- - !ruby/object:Gem::Version
166
- version: '0'
167
- - !ruby/object:Gem::Dependency
168
- name: pry-rails
169
- requirement: !ruby/object:Gem::Requirement
170
- requirements:
171
- - - ">="
172
- - !ruby/object:Gem::Version
173
- version: '0'
174
- type: :development
175
- prerelease: false
176
- version_requirements: !ruby/object:Gem::Requirement
177
- requirements:
178
- - - ">="
179
- - !ruby/object:Gem::Version
180
- version: '0'
181
- - !ruby/object:Gem::Dependency
182
- name: byebug
183
- requirement: !ruby/object:Gem::Requirement
184
- requirements:
185
- - - ">="
186
- - !ruby/object:Gem::Version
187
- version: '0'
188
- type: :development
189
- prerelease: false
190
- version_requirements: !ruby/object:Gem::Requirement
191
- requirements:
192
- - - ">="
193
- - !ruby/object:Gem::Version
194
- version: '0'
195
- - !ruby/object:Gem::Dependency
196
- name: utusemi
197
- requirement: !ruby/object:Gem::Requirement
198
- requirements:
199
- - - ">="
200
- - !ruby/object:Gem::Version
201
- version: 0.0.6
202
- type: :development
203
- prerelease: false
204
- version_requirements: !ruby/object:Gem::Requirement
205
- requirements:
206
- - - ">="
207
- - !ruby/object:Gem::Version
208
- version: 0.0.6
209
- - !ruby/object:Gem::Dependency
210
- name: yard
211
- requirement: !ruby/object:Gem::Requirement
212
- requirements:
213
- - - ">="
214
- - !ruby/object:Gem::Version
215
- version: '0'
216
- type: :development
217
- prerelease: false
218
- version_requirements: !ruby/object:Gem::Requirement
219
- requirements:
220
- - - ">="
221
- - !ruby/object:Gem::Version
222
- version: '0'
223
- - !ruby/object:Gem::Dependency
224
- name: inch
225
- requirement: !ruby/object:Gem::Requirement
226
- requirements:
227
- - - ">="
228
- - !ruby/object:Gem::Version
229
- version: '0'
230
- type: :development
47
+ version: 0.1.0
48
+ type: :runtime
231
49
  prerelease: false
232
50
  version_requirements: !ruby/object:Gem::Requirement
233
51
  requirements:
234
- - - ">="
52
+ - - '='
235
53
  - !ruby/object:Gem::Version
236
- version: '0'
54
+ version: 0.1.0
237
55
  description: Comable provides a simple way to add e-commerce features to your Ruby
238
56
  on Rails application.
239
57
  email:
@@ -245,52 +63,8 @@ files:
245
63
  - MIT-LICENSE
246
64
  - README.md
247
65
  - Rakefile
248
- - app/assets/javascripts/comable/application.js
249
- - app/assets/stylesheets/comable/application.css
250
- - app/controllers/comable/application_controller.rb
251
- - app/controllers/comable/carts_controller.rb
252
- - app/controllers/comable/orders_controller.rb
253
- - app/controllers/comable/products_controller.rb
254
- - app/helpers/comable/application_helper.rb
255
- - app/helpers/comable/products_helper.rb
256
- - app/models/comable/customer.rb
257
- - app/models/comable/order.rb
258
- - app/models/comable/order_delivery.rb
259
- - app/models/comable/order_detail.rb
260
- - app/models/comable/payment.rb
261
- - app/models/comable/product.rb
262
- - app/models/comable/stock.rb
263
- - app/views/comable/carts/show.slim
264
- - app/views/comable/orders/confirm.slim
265
- - app/views/comable/orders/create.slim
266
- - app/views/comable/orders/delivery.slim
267
- - app/views/comable/orders/new.slim
268
- - app/views/comable/orders/orderer.slim
269
- - app/views/comable/orders/payment.slim
270
- - app/views/comable/products/index.slim
271
- - app/views/comable/products/show.slim
272
- - app/views/layouts/comable/application.slim
273
- - config/locales/ja.yml
274
- - config/routes.rb
275
- - db/migrate/20131214194807_create_comable_products.rb
276
- - db/migrate/20140120032559_create_comable_customers.rb
277
- - db/migrate/20140502060116_create_comable_stocks.rb
278
- - db/migrate/20140723175431_create_comable_orders.rb
279
- - db/migrate/20140723175624_create_comable_order_deliveries.rb
280
- - db/migrate/20140723175810_create_comable_order_details.rb
281
- - db/migrate/20140817194104_create_comable_payments.rb
282
66
  - lib/comable.rb
283
- - lib/comable/cart_owner.rb
284
- - lib/comable/decoratable.rb
285
- - lib/comable/engine.rb
286
- - lib/comable/errors.rb
287
- - lib/comable/migration.rb
288
- - lib/comable/payment_method.rb
289
- - lib/comable/payment_method/base.rb
290
- - lib/comable/payment_method/general.rb
291
67
  - lib/comable/version.rb
292
- - lib/tasks/comable_tasks.rake
293
- - lib/tasks/comable_yardoc.task
294
68
  homepage: https://github.com/hyoshida/comable#comable
295
69
  licenses: []
296
70
  metadata: {}
@@ -1,13 +0,0 @@
1
- // This is a manifest file that'll be compiled into application.js, which will include all the files
2
- // listed below.
3
- //
4
- // Any JavaScript/Coffee file within this directory, lib/assets/javascripts, vendor/assets/javascripts,
5
- // or vendor/assets/javascripts of plugins, if any, can be referenced here using a relative path.
6
- //
7
- // It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
8
- // compiled file.
9
- //
10
- // Read Sprockets README (https://github.com/sstephenson/sprockets#sprockets-directives) for details
11
- // about supported directives.
12
- //
13
- //= require_tree .
@@ -1,13 +0,0 @@
1
- /*
2
- * This is a manifest file that'll be compiled into application.css, which will include all the files
3
- * listed below.
4
- *
5
- * Any CSS and SCSS file within this directory, lib/assets/stylesheets, vendor/assets/stylesheets,
6
- * or vendor/assets/stylesheets of plugins, if any, can be referenced here using a relative path.
7
- *
8
- * You're free to add application-wide styles to this file and they'll appear at the top of the
9
- * compiled file, but it's generally better to create a new file per style scope.
10
- *
11
- *= require_self
12
- *= require_tree .
13
- */
@@ -1,5 +0,0 @@
1
- module Comable
2
- class ApplicationController < ActionController::Base
3
- include Comable::ApplicationHelper
4
- end
5
- end
@@ -1,40 +0,0 @@
1
- module Comable
2
- class CartsController < ApplicationController
3
- def show
4
- end
5
-
6
- def add
7
- product = Comable::Product.where(id: params[:product_id]).first
8
- return redirect_by_product_not_found unless product
9
-
10
- if product.sku?
11
- stock = product.stocks.where(id: params[:stock_id]).first
12
- return redirect_by_product_not_found unless stock
13
- end
14
-
15
- # TODO: 在庫確認
16
- current_customer.add_cart_item(stock || product, quantity: params[:quantity].to_i)
17
-
18
- flash[:notice] = I18n.t('comable.carts.add_product')
19
- redirect_to cart_path
20
- end
21
-
22
- def update
23
- stock = Comable::Stock.where(id: params[:stock_id]).first
24
- return redirect_by_product_not_found unless stock
25
-
26
- # TODO: 在庫確認
27
- current_customer.reset_cart_item(stock, quantity: params[:quantity].to_i)
28
-
29
- flash[:notice] = I18n.t('comable.carts.update')
30
- redirect_to cart_path
31
- end
32
-
33
- private
34
-
35
- def redirect_by_product_not_found
36
- flash[:error] = I18n.t('comable.carts.product_not_found')
37
- redirect_to :back
38
- end
39
- end
40
- end
@@ -1,115 +0,0 @@
1
- module Comable
2
- class OrdersController < ApplicationController
3
- before_filter :load_order
4
- before_filter :verify
5
- before_filter :redirect_for_logged_in_customer, only: [:new, :orderer]
6
- after_filter :save_order, except: :create
7
-
8
- rescue_from ActiveRecord::RecordInvalid, with: :record_invalid
9
- rescue_from Comable::InvalidOrder, with: :order_invalid
10
-
11
- include Decoratable
12
-
13
- def new
14
- end
15
-
16
- def orderer
17
- case request.method_symbol
18
- when :post
19
- redirect_to comable.delivery_order_path
20
- end
21
- end
22
-
23
- def delivery
24
- case request.method_symbol
25
- when :post
26
- redirect_to comable.payment_order_path
27
- end
28
- end
29
-
30
- def payment
31
- case request.method_symbol
32
- when :post
33
- redirect_to comable.confirm_order_path
34
- end
35
- end
36
-
37
- def confirm
38
- end
39
-
40
- def create
41
- order = current_customer.order
42
- if order.complete?
43
- flash[:notice] = I18n.t('comable.orders.success')
44
- else
45
- flash[:alert] = I18n.t('comable.orders.failure')
46
- redirect_to comable.confirm_order_path
47
- end
48
- end
49
-
50
- private
51
-
52
- def verify
53
- return if current_customer.cart.any?
54
- flash[:alert] = I18n.t('comable.carts.empty')
55
- redirect_to comable.cart_path
56
- end
57
-
58
- def load_order
59
- @order = current_customer.preorder(order_params || {})
60
- end
61
-
62
- def save_order
63
- @order.save
64
- end
65
-
66
- def order_params
67
- return unless params[:order]
68
- case action_name.to_sym
69
- when :orderer
70
- order_params_for_orderer
71
- when :delivery
72
- order_params_for_delivery
73
- when :payment
74
- order_params_for_payment
75
- end
76
- end
77
-
78
- def order_params_for_orderer
79
- params.require(:order).permit(
80
- :family_name,
81
- :first_name
82
- )
83
- end
84
-
85
- def order_params_for_delivery
86
- params.require(:order).permit(
87
- order_deliveries_attributes: [
88
- :id,
89
- :family_name,
90
- :first_name
91
- ]
92
- )
93
- end
94
-
95
- def order_params_for_payment
96
- params.require(:order).permit(
97
- Comable::Payment.table_name.singularize.foreign_key.to_sym
98
- )
99
- end
100
-
101
- def redirect_for_logged_in_customer
102
- return redirect_to delivery_order_path if current_customer.logged_in?
103
- end
104
-
105
- def record_invalid
106
- flash[:alert] = I18n.t('comable.orders.failure')
107
- redirect_to comable.cart_path
108
- end
109
-
110
- def order_invalid(exception)
111
- flash[:alert] = exception.message
112
- redirect_to comable.cart_path
113
- end
114
- end
115
- end
@@ -1,11 +0,0 @@
1
- module Comable
2
- class ProductsController < ApplicationController
3
- def index
4
- @products = Comable::Product.all
5
- end
6
-
7
- def show
8
- @product = Comable::Product.find(params[:id])
9
- end
10
- end
11
- end
@@ -1,18 +0,0 @@
1
- module Comable
2
- module ApplicationHelper
3
- def current_customer
4
- @current_customer || load_customer
5
- end
6
-
7
- private
8
-
9
- def load_customer
10
- @current_customer = logged_in_customer
11
- @current_customer ||= Comable::Customer.new(cookies)
12
- end
13
-
14
- def logged_in_customer
15
- # Please override this method for logged in customer
16
- end
17
- end
18
- end