comable_core 0.3.4 → 0.4.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 (43) hide show
  1. checksums.yaml +4 -4
  2. data/app/helpers/comable/application_helper.rb +17 -10
  3. data/app/models/comable/ability.rb +1 -1
  4. data/app/models/comable/address.rb +2 -2
  5. data/app/models/comable/order/associations.rb +22 -0
  6. data/app/models/comable/order/callbacks.rb +43 -0
  7. data/app/models/comable/order/scopes.rb +17 -0
  8. data/app/models/comable/order/validations.rb +39 -0
  9. data/app/models/comable/order.rb +63 -72
  10. data/app/models/comable/order_item/csvable.rb +32 -0
  11. data/app/models/comable/{order_detail.rb → order_item.rb} +19 -10
  12. data/app/models/comable/payment.rb +82 -0
  13. data/app/models/comable/payment_method.rb +1 -0
  14. data/app/models/comable/product/csvable.rb +20 -0
  15. data/app/models/comable/product.rb +2 -7
  16. data/app/models/comable/shipment.rb +79 -0
  17. data/app/models/comable/stock/csvable.rb +26 -0
  18. data/app/models/comable/stock.rb +2 -17
  19. data/app/models/comable/tracker.rb +17 -0
  20. data/app/models/comable/{customer.rb → user.rb} +11 -23
  21. data/app/models/concerns/comable/checkout.rb +35 -36
  22. data/app/models/concerns/comable/importable.rb +67 -0
  23. data/app/views/comable/order_mailer/complete.text.erb +9 -8
  24. data/config/initializers/comma.rb +8 -0
  25. data/config/locales/en.yml +105 -14
  26. data/config/locales/ja.yml +92 -19
  27. data/db/migrate/{20140120032559_create_comable_customers.rb → 20140120032559_create_comable_users.rb} +6 -6
  28. data/db/migrate/20140723175431_create_comable_orders.rb +2 -4
  29. data/db/migrate/{20140723175810_create_comable_order_details.rb → 20140723175810_create_comable_order_items.rb} +3 -3
  30. data/db/migrate/20140817194104_create_comable_payment_methods.rb +1 -0
  31. data/db/migrate/20141024025526_create_comable_addresses.rb +1 -1
  32. data/db/migrate/20150423095210_create_comable_shipments.rb +12 -0
  33. data/db/migrate/20150511171940_create_comable_payments.rb +11 -0
  34. data/db/migrate/20150513185230_create_comable_trackers.rb +12 -0
  35. data/db/seeds/comable/{customers.rb → users.rb} +3 -3
  36. data/lib/comable/core/configuration.rb +7 -1
  37. data/lib/comable/core/engine.rb +0 -25
  38. data/lib/comable/payment_provider/base.rb +16 -0
  39. data/lib/comable_core.rb +6 -1
  40. data/lib/comma_extractor_extentions.rb +31 -0
  41. data/lib/generators/comable/install/templates/config/initializers/comable.rb +16 -1
  42. metadata +79 -8
  43. data/lib/comable/errors.rb +0 -4
@@ -0,0 +1,31 @@
1
+ # Helper methods for `comma` method
2
+ Comma::Extractor.class_eval do
3
+ def __association__(hash)
4
+ return unless hash.is_a? Hash
5
+
6
+ association = hash.keys.first
7
+ method_path = hash_to_method_path(hash)
8
+
9
+ block = -> (record) { method_path[1..-1].inject(record, &:send) }
10
+ klass = @instance.is_a?(ActiveRecord::Base) ? @instance.class : @instance
11
+ send(association, nested_human_attribute_name(klass, method_path), &block)
12
+ end
13
+
14
+ private
15
+
16
+ # { foo: { bar: :sample } } => [:foo, :bar, :sample]
17
+ def hash_to_method_path(hash)
18
+ key, value = hash.first
19
+ value = value.is_a?(Hash) ? hash_to_method_path(value) : [value]
20
+ [key] + value
21
+ end
22
+
23
+ # [:foo, :bar, :sample] => "Foo/Bar/Sample"
24
+ def nested_human_attribute_name(klass, method_path)
25
+ method_name = method_path.first
26
+ return unless method_name
27
+ association = klass.reflect_on_association(method_name).try(:klass) || klass
28
+ human_method_name = klass.human_attribute_name(method_name)
29
+ [human_method_name, nested_human_attribute_name(association, method_path[1..-1])].compact.join('/')
30
+ end
31
+ end
@@ -4,7 +4,7 @@ Comable.setup do |config|
4
4
  # Example:
5
5
  #
6
6
  # Uncomment to change devise strategies
7
- # config.devise_strategies[:customer] = %i(
7
+ # config.devise_strategies[:user] = %i(
8
8
  # database_authenticatable
9
9
  # timeoutable
10
10
  # registerable
@@ -13,4 +13,19 @@ Comable.setup do |config|
13
13
  # rememberable
14
14
  # trackable
15
15
  # )
16
+ #
17
+ # Uncomment to change xlsx styles
18
+ # config.export_xlsx_header_style = {
19
+ # bg_color: '00000000',
20
+ # fg_color: 'ffffffff',
21
+ # alignment: { horizontal: :center },
22
+ # bold: true,
23
+ # border: Axlsx::STYLE_THIN_BORDER,
24
+ # font_name: 'MS Pゴシック'
25
+ # }
26
+ #
27
+ # config.export_xlsx_style = {
28
+ # border: Axlsx::STYLE_THIN_BORDER,
29
+ # font_name: 'MS Pゴシック'
30
+ # }
16
31
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: comable_core
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.4
4
+ version: 0.4.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: 2015-04-07 00:00:00.000000000 Z
11
+ date: 2015-05-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -142,6 +142,62 @@ dependencies:
142
142
  - - "~>"
143
143
  - !ruby/object:Gem::Version
144
144
  version: 1.6.21
145
+ - !ruby/object:Gem::Dependency
146
+ name: comma
147
+ requirement: !ruby/object:Gem::Requirement
148
+ requirements:
149
+ - - "~>"
150
+ - !ruby/object:Gem::Version
151
+ version: 3.2.4
152
+ type: :runtime
153
+ prerelease: false
154
+ version_requirements: !ruby/object:Gem::Requirement
155
+ requirements:
156
+ - - "~>"
157
+ - !ruby/object:Gem::Version
158
+ version: 3.2.4
159
+ - !ruby/object:Gem::Dependency
160
+ name: axlsx_rails
161
+ requirement: !ruby/object:Gem::Requirement
162
+ requirements:
163
+ - - "~>"
164
+ - !ruby/object:Gem::Version
165
+ version: 0.3.0
166
+ type: :runtime
167
+ prerelease: false
168
+ version_requirements: !ruby/object:Gem::Requirement
169
+ requirements:
170
+ - - "~>"
171
+ - !ruby/object:Gem::Version
172
+ version: 0.3.0
173
+ - !ruby/object:Gem::Dependency
174
+ name: roo
175
+ requirement: !ruby/object:Gem::Requirement
176
+ requirements:
177
+ - - "~>"
178
+ - !ruby/object:Gem::Version
179
+ version: 1.13.2
180
+ type: :runtime
181
+ prerelease: false
182
+ version_requirements: !ruby/object:Gem::Requirement
183
+ requirements:
184
+ - - "~>"
185
+ - !ruby/object:Gem::Version
186
+ version: 1.13.2
187
+ - !ruby/object:Gem::Dependency
188
+ name: liquid
189
+ requirement: !ruby/object:Gem::Requirement
190
+ requirements:
191
+ - - "~>"
192
+ - !ruby/object:Gem::Version
193
+ version: 3.0.2
194
+ type: :runtime
195
+ prerelease: false
196
+ version_requirements: !ruby/object:Gem::Requirement
197
+ requirements:
198
+ - - "~>"
199
+ - !ruby/object:Gem::Version
200
+ version: 3.0.2
145
201
  description: Provide core functions for Comable.
146
202
  email:
147
203
  - hyoshida@appirits.com
@@ -160,18 +216,29 @@ files:
160
216
  - app/models/comable/ability.rb
161
217
  - app/models/comable/address.rb
162
218
  - app/models/comable/category.rb
163
- - app/models/comable/customer.rb
164
219
  - app/models/comable/image.rb
165
220
  - app/models/comable/order.rb
221
+ - app/models/comable/order/associations.rb
222
+ - app/models/comable/order/callbacks.rb
166
223
  - app/models/comable/order/morrisable.rb
167
- - app/models/comable/order_detail.rb
224
+ - app/models/comable/order/scopes.rb
225
+ - app/models/comable/order/validations.rb
226
+ - app/models/comable/order_item.rb
227
+ - app/models/comable/order_item/csvable.rb
228
+ - app/models/comable/payment.rb
168
229
  - app/models/comable/payment_method.rb
169
230
  - app/models/comable/product.rb
231
+ - app/models/comable/product/csvable.rb
232
+ - app/models/comable/shipment.rb
170
233
  - app/models/comable/shipment_method.rb
171
234
  - app/models/comable/stock.rb
235
+ - app/models/comable/stock/csvable.rb
172
236
  - app/models/comable/store.rb
237
+ - app/models/comable/tracker.rb
238
+ - app/models/comable/user.rb
173
239
  - app/models/concerns/comable/cart_owner.rb
174
240
  - app/models/concerns/comable/checkout.rb
241
+ - app/models/concerns/comable/importable.rb
175
242
  - app/models/concerns/comable/product/search.rb
176
243
  - app/models/concerns/comable/ransackable.rb
177
244
  - app/models/concerns/comable/role_owner.rb
@@ -179,13 +246,14 @@ files:
179
246
  - app/models/concerns/comable/sku_item.rb
180
247
  - app/uploaders/image_uploader.rb
181
248
  - app/views/comable/order_mailer/complete.text.erb
249
+ - config/initializers/comma.rb
182
250
  - config/locales/en.yml
183
251
  - config/locales/ja.yml
184
252
  - db/migrate/20131214194807_create_comable_products.rb
185
- - db/migrate/20140120032559_create_comable_customers.rb
253
+ - db/migrate/20140120032559_create_comable_users.rb
186
254
  - db/migrate/20140502060116_create_comable_stocks.rb
187
255
  - db/migrate/20140723175431_create_comable_orders.rb
188
- - db/migrate/20140723175810_create_comable_order_details.rb
256
+ - db/migrate/20140723175810_create_comable_order_items.rb
189
257
  - db/migrate/20140817194104_create_comable_payment_methods.rb
190
258
  - db/migrate/20140921191416_create_comable_shipment_methods.rb
191
259
  - db/migrate/20140926063541_create_comable_stores.rb
@@ -193,17 +261,20 @@ files:
193
261
  - db/migrate/20150111031228_create_comable_categories.rb
194
262
  - db/migrate/20150111031229_create_comable_products_categories.rb
195
263
  - db/migrate/20150112173706_create_comable_images.rb
264
+ - db/migrate/20150423095210_create_comable_shipments.rb
265
+ - db/migrate/20150511171940_create_comable_payments.rb
266
+ - db/migrate/20150513185230_create_comable_trackers.rb
196
267
  - db/seeds.rb
197
- - db/seeds/comable/customers.rb
268
+ - db/seeds/comable/users.rb
198
269
  - lib/comable/core/configuration.rb
199
270
  - lib/comable/core/engine.rb
200
271
  - lib/comable/deprecator.rb
201
- - lib/comable/errors.rb
202
272
  - lib/comable/payment_provider.rb
203
273
  - lib/comable/payment_provider/base.rb
204
274
  - lib/comable/payment_provider/general.rb
205
275
  - lib/comable/state_machine_patch.rb
206
276
  - lib/comable_core.rb
277
+ - lib/comma_extractor_extentions.rb
207
278
  - lib/generators/comable/install/install_generator.rb
208
279
  - lib/generators/comable/install/templates/config/initializers/comable.rb
209
280
  - lib/tasks/comable_tasks.rake
@@ -1,4 +0,0 @@
1
- module Comable
2
- class InvalidOrder < StandardError
3
- end
4
- end