comable_core 0.3.4 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
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