comable-core 0.6.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (81) hide show
  1. checksums.yaml +7 -0
  2. data/MIT-LICENSE +20 -0
  3. data/Rakefile +97 -0
  4. data/app/assets/javascripts/comable/application.js +13 -0
  5. data/app/assets/stylesheets/comable/application.css +13 -0
  6. data/app/controllers/concerns/comable/permitted_attributes.rb +15 -0
  7. data/app/helpers/comable/application_helper.rb +84 -0
  8. data/app/helpers/comable/products_helper.rb +82 -0
  9. data/app/mailers/comable/order_mailer.rb +18 -0
  10. data/app/models/comable/ability.rb +18 -0
  11. data/app/models/comable/address.rb +39 -0
  12. data/app/models/comable/category.rb +72 -0
  13. data/app/models/comable/image.rb +15 -0
  14. data/app/models/comable/order.rb +121 -0
  15. data/app/models/comable/order/associations.rb +22 -0
  16. data/app/models/comable/order/callbacks.rb +43 -0
  17. data/app/models/comable/order/morrisable.rb +20 -0
  18. data/app/models/comable/order/scopes.rb +17 -0
  19. data/app/models/comable/order/validations.rb +39 -0
  20. data/app/models/comable/order_item.rb +98 -0
  21. data/app/models/comable/order_item/csvable.rb +32 -0
  22. data/app/models/comable/page.rb +30 -0
  23. data/app/models/comable/payment.rb +87 -0
  24. data/app/models/comable/payment_method.rb +27 -0
  25. data/app/models/comable/product.rb +55 -0
  26. data/app/models/comable/product/csvable.rb +20 -0
  27. data/app/models/comable/shipment.rb +85 -0
  28. data/app/models/comable/shipment_method.rb +9 -0
  29. data/app/models/comable/stock.rb +71 -0
  30. data/app/models/comable/stock/csvable.rb +26 -0
  31. data/app/models/comable/store.rb +30 -0
  32. data/app/models/comable/theme.rb +25 -0
  33. data/app/models/comable/tracker.rb +17 -0
  34. data/app/models/comable/user.rb +130 -0
  35. data/app/models/concerns/comable/cart_owner.rb +94 -0
  36. data/app/models/concerns/comable/checkout.rb +85 -0
  37. data/app/models/concerns/comable/importable.rb +67 -0
  38. data/app/models/concerns/comable/liquidable.rb +12 -0
  39. data/app/models/concerns/comable/product/search.rb +41 -0
  40. data/app/models/concerns/comable/ransackable.rb +38 -0
  41. data/app/models/concerns/comable/role_owner.rb +15 -0
  42. data/app/models/concerns/comable/sku_choice.rb +19 -0
  43. data/app/models/concerns/comable/sku_item.rb +17 -0
  44. data/app/uploaders/image_uploader.rb +7 -0
  45. data/app/views/comable/order_mailer/complete.text.erb +42 -0
  46. data/config/initializers/comma.rb +8 -0
  47. data/config/locales/en.yml +424 -0
  48. data/config/locales/ja.yml +425 -0
  49. data/db/migrate/20131214194807_create_comable_products.rb +15 -0
  50. data/db/migrate/20140120032559_create_comable_users.rb +46 -0
  51. data/db/migrate/20140502060116_create_comable_stocks.rb +14 -0
  52. data/db/migrate/20140723175431_create_comable_orders.rb +20 -0
  53. data/db/migrate/20140723175810_create_comable_order_items.rb +19 -0
  54. data/db/migrate/20140817194104_create_comable_payment_methods.rb +13 -0
  55. data/db/migrate/20140921191416_create_comable_shipment_methods.rb +11 -0
  56. data/db/migrate/20140926063541_create_comable_stores.rb +11 -0
  57. data/db/migrate/20141024025526_create_comable_addresses.rb +17 -0
  58. data/db/migrate/20150111031228_create_comable_categories.rb +10 -0
  59. data/db/migrate/20150111031229_create_comable_products_categories.rb +8 -0
  60. data/db/migrate/20150112173706_create_comable_images.rb +9 -0
  61. data/db/migrate/20150423095210_create_comable_shipments.rb +13 -0
  62. data/db/migrate/20150511171940_create_comable_payments.rb +12 -0
  63. data/db/migrate/20150513185230_create_comable_trackers.rb +12 -0
  64. data/db/migrate/20150519080729_create_comable_pages.rb +17 -0
  65. data/db/migrate/20150612143226_create_comable_themes.rb +15 -0
  66. data/db/migrate/20150612143445_add_theme_id_to_comable_stores.rb +7 -0
  67. data/db/seeds.rb +5 -0
  68. data/db/seeds/comable/users.rb +51 -0
  69. data/lib/comable/core.rb +48 -0
  70. data/lib/comable/core/configuration.rb +22 -0
  71. data/lib/comable/core/engine.rb +50 -0
  72. data/lib/comable/deprecator.rb +26 -0
  73. data/lib/comable/payment_provider.rb +14 -0
  74. data/lib/comable/payment_provider/base.rb +42 -0
  75. data/lib/comable/payment_provider/general.rb +15 -0
  76. data/lib/comable/state_machine_patch.rb +32 -0
  77. data/lib/comma_extractor_extentions.rb +31 -0
  78. data/lib/generators/comable/install/install_generator.rb +133 -0
  79. data/lib/generators/comable/install/templates/config/initializers/comable.rb +31 -0
  80. data/lib/tasks/comable_tasks.rake +4 -0
  81. metadata +346 -0
@@ -0,0 +1,14 @@
1
+ require 'comable/payment_provider/base'
2
+ require 'comable/payment_provider/general'
3
+
4
+ module Comable
5
+ module PaymentProvider
6
+ class << self
7
+ def all
8
+ (constants - [:Base]).map do |constant_name|
9
+ const_get(constant_name)
10
+ end
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,42 @@
1
+ module Comable
2
+ module PaymentProvider
3
+ class Base
4
+ class << self
5
+ def name_symbol
6
+ name.demodulize.underscore.to_sym
7
+ end
8
+
9
+ def display_name
10
+ please_implement_method
11
+ end
12
+
13
+ def kind
14
+ please_implement_method
15
+ end
16
+
17
+ def authorize!
18
+ true
19
+ end
20
+
21
+ def complete!
22
+ true
23
+ end
24
+
25
+ def cancel!
26
+ true
27
+ end
28
+
29
+ def resume!
30
+ true
31
+ end
32
+
33
+ private
34
+
35
+ def please_implement_method
36
+ calling_method_name = caller_locations(1, 1).first.label
37
+ fail "You should implement '#{calling_method_name}' method in #{name}."
38
+ end
39
+ end
40
+ end
41
+ end
42
+ end
@@ -0,0 +1,15 @@
1
+ module Comable
2
+ module PaymentProvider
3
+ class General < Base
4
+ class << self
5
+ def display_name
6
+ '汎用決済モジュール'
7
+ end
8
+
9
+ def kind
10
+ { none: 'なし' }
11
+ end
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,32 @@
1
+ # Rails 4.1.0.rc1 and StateMachine don't play nice
2
+ # https://github.com/pluginaweek/state_machine/issues/295
3
+
4
+ require 'state_machine/version'
5
+
6
+ if StateMachine::VERSION != '1.2.0'
7
+ # If you see this message, please test removing this file
8
+ # If it's still required, please bump up the version above
9
+ Rails.logger.warn 'Please remove me, StateMachine version has changed'
10
+ end
11
+
12
+ if Rails.version =~ /^4./
13
+ module StateMachine::Integrations::ActiveModel
14
+ public :around_validation
15
+ end
16
+ end
17
+
18
+ if Rails.version =~ /^4.2./
19
+ # Hacks around https://github.com/pluginaweek/state_machine/issues/334
20
+ module StateMachine::Integrations::ActiveRecord
21
+ def define_state_initializer
22
+ define_helper :instance, <<-end_eval, __FILE__, __LINE__ + 1
23
+ def initialize(*)
24
+ super do |*args|
25
+ self.class.state_machines.initialize_states self
26
+ yield(*args) if block_given?
27
+ end
28
+ end
29
+ end_eval
30
+ end
31
+ end
32
+ end
@@ -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
@@ -0,0 +1,133 @@
1
+ require 'rails/generators'
2
+ require 'bundler'
3
+ require 'bundler/cli'
4
+
5
+ module Comable
6
+ class InstallGenerator < Rails::Generators::Base
7
+ class_option :migrate, type: :boolean, default: true, banner: 'Run Comable migrations'
8
+ class_option :seed, type: :boolean, default: true, banner: 'Load seed data (migrations must be run)'
9
+ class_option :sample, type: :boolean, default: true, banner: 'Load sample data (migrations must be run)'
10
+ class_option :admin_email, type: :string
11
+ class_option :admin_password, type: :string
12
+
13
+ class << self
14
+ def source_paths
15
+ paths = superclass.source_paths
16
+ paths << File.expand_path('../templates', __FILE__)
17
+ paths.flatten
18
+ end
19
+ end
20
+
21
+ def prepare_options
22
+ @migrate_flag = options[:migrate]
23
+ @seed_flag = @migrate_flag ? options[:seed] : false
24
+ @sample_flag = @migrate_flag ? options[:sample] : false
25
+ end
26
+
27
+ def add_files
28
+ template 'config/initializers/comable.rb', 'config/initializers/comable.rb'
29
+ end
30
+
31
+ def configure_application
32
+ application <<-APP
33
+ config.to_prepare do
34
+ # Overriding Models and Controllers
35
+ # refs: http://edgeguides.rubyonrails.org/engines.html#overriding-models-and-controllers
36
+ Dir.glob(Rails.root.join('app/**/*_decorator*.rb')).each do |c|
37
+ Rails.configuration.cache_classes ? require_dependency(c) : load(c)
38
+ end
39
+ end
40
+ APP
41
+ end
42
+
43
+ def append_seeds
44
+ append_file 'db/seeds.rb', <<-SEEDS
45
+ # Seed data for Comable
46
+ Comable::Core::Engine.load_seed if defined?(Comable::Core)
47
+ SEEDS
48
+ end
49
+
50
+ def install_migrations
51
+ say_status :copying, 'migrations'
52
+ quietly { rake 'comable:install:migrations' }
53
+ end
54
+
55
+ def create_database
56
+ say_status :creating, 'database'
57
+ quietly { rake 'db:create' }
58
+ end
59
+
60
+ def run_migrations
61
+ if @migrate_flag
62
+ say_status :running, 'migrations'
63
+ quietly { rake 'db:migrate' }
64
+ else
65
+ say_status :skipping, "migrations (don't forget to run rake db:migrate)"
66
+ end
67
+ end
68
+
69
+ def load_seed_data
70
+ if @seed_flag
71
+ say_status :loading, 'seed data'
72
+ rake_seed
73
+ else
74
+ say_status :skipping, 'seed data (you can always run rake db:seed)'
75
+ end
76
+ end
77
+
78
+ def load_sample_data
79
+ if @sample_flag
80
+ say_status :loading, 'sample data'
81
+ quietly { rake 'comable:sample' }
82
+ else
83
+ say_status :skipping, 'sample data (you can always run rake comable:sample)'
84
+ end
85
+ end
86
+
87
+ def insert_routes
88
+ insert_into_file File.join('config', 'routes.rb'), after: "Rails.application.routes.draw do\n" do
89
+ <<-ROUTES
90
+ # This line mounts Comable's routes at the root of your application.
91
+ # This means, any requests to URLs such as /products, will go to Comable::ProductsController.
92
+ # If you would like to change where this engine is mounted, simply change the :at option to something different.
93
+ #
94
+ # We ask that you don't use the :as option here, as Comable relies on it being the default of "comable"
95
+ mount Comable::Core::Engine, at: '/'
96
+ ROUTES
97
+ end
98
+
99
+ message_for_insert_routes unless options[:quiet]
100
+ end
101
+
102
+ def complete
103
+ message_for_complete unless options[:quiet]
104
+ end
105
+
106
+ private
107
+
108
+ def rake_seed
109
+ rake("db:seed #{rake_seed_arguments.join(' ')}")
110
+ end
111
+
112
+ def rake_seed_arguments
113
+ arguments = []
114
+ arguments << "ADMIN_EMAIL=#{options[:admin_email]}" if options[:admin_email]
115
+ arguments << "ADMIN_PASSWORD=#{options[:admin_password]}" if options[:admin_password]
116
+ arguments
117
+ end
118
+
119
+ def message_for_insert_routes
120
+ puts '*' * 50
121
+ puts "We added the following line to your application's config/routes.rb file:"
122
+ puts ' '
123
+ puts " mount Comable::Core::Engine, at: '/'"
124
+ end
125
+
126
+ def message_for_complete
127
+ puts '*' * 50
128
+ puts "Comable has been installed successfully. You're all ready to go!"
129
+ puts ' '
130
+ puts 'Enjoy!'
131
+ end
132
+ end
133
+ end
@@ -0,0 +1,31 @@
1
+ # Comable Configurations
2
+ #
3
+ Comable.setup do |config|
4
+ # Example:
5
+ #
6
+ # Uncomment to change devise strategies
7
+ # config.devise_strategies[:user] = %i(
8
+ # database_authenticatable
9
+ # timeoutable
10
+ # registerable
11
+ # confirmable
12
+ # recoverable
13
+ # rememberable
14
+ # trackable
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
+ # }
31
+ end
@@ -0,0 +1,4 @@
1
+ # desc "Explaining what the task does"
2
+ # task :comable do
3
+ # # Task goes here
4
+ # end
metadata ADDED
@@ -0,0 +1,346 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: comable-core
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.6.0
5
+ platform: ruby
6
+ authors:
7
+ - YOSHIDA Hiroki
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2015-07-16 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
+ - - "<"
21
+ - !ruby/object:Gem::Version
22
+ version: '5'
23
+ type: :runtime
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ requirements:
27
+ - - ">="
28
+ - !ruby/object:Gem::Version
29
+ version: 3.2.0
30
+ - - "<"
31
+ - !ruby/object:Gem::Version
32
+ version: '5'
33
+ - !ruby/object:Gem::Dependency
34
+ name: devise
35
+ requirement: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - "~>"
38
+ - !ruby/object:Gem::Version
39
+ version: '3.2'
40
+ type: :runtime
41
+ prerelease: false
42
+ version_requirements: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - "~>"
45
+ - !ruby/object:Gem::Version
46
+ version: '3.2'
47
+ - !ruby/object:Gem::Dependency
48
+ name: enumerize
49
+ requirement: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - "~>"
52
+ - !ruby/object:Gem::Version
53
+ version: 0.9.0
54
+ type: :runtime
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - "~>"
59
+ - !ruby/object:Gem::Version
60
+ version: 0.9.0
61
+ - !ruby/object:Gem::Dependency
62
+ name: state_machine
63
+ requirement: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - "~>"
66
+ - !ruby/object:Gem::Version
67
+ version: 1.2.0
68
+ type: :runtime
69
+ prerelease: false
70
+ version_requirements: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - "~>"
73
+ - !ruby/object:Gem::Version
74
+ version: 1.2.0
75
+ - !ruby/object:Gem::Dependency
76
+ name: ancestry
77
+ requirement: !ruby/object:Gem::Requirement
78
+ requirements:
79
+ - - "~>"
80
+ - !ruby/object:Gem::Version
81
+ version: 2.1.0
82
+ type: :runtime
83
+ prerelease: false
84
+ version_requirements: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - "~>"
87
+ - !ruby/object:Gem::Version
88
+ version: 2.1.0
89
+ - !ruby/object:Gem::Dependency
90
+ name: acts_as_list
91
+ requirement: !ruby/object:Gem::Requirement
92
+ requirements:
93
+ - - "~>"
94
+ - !ruby/object:Gem::Version
95
+ version: 0.6.0
96
+ type: :runtime
97
+ prerelease: false
98
+ version_requirements: !ruby/object:Gem::Requirement
99
+ requirements:
100
+ - - "~>"
101
+ - !ruby/object:Gem::Version
102
+ version: 0.6.0
103
+ - !ruby/object:Gem::Dependency
104
+ name: carrierwave
105
+ requirement: !ruby/object:Gem::Requirement
106
+ requirements:
107
+ - - "~>"
108
+ - !ruby/object:Gem::Version
109
+ version: 0.10.0
110
+ type: :runtime
111
+ prerelease: false
112
+ version_requirements: !ruby/object:Gem::Requirement
113
+ requirements:
114
+ - - "~>"
115
+ - !ruby/object:Gem::Version
116
+ version: 0.10.0
117
+ - !ruby/object:Gem::Dependency
118
+ name: cancancan
119
+ requirement: !ruby/object:Gem::Requirement
120
+ requirements:
121
+ - - "~>"
122
+ - !ruby/object:Gem::Version
123
+ version: '1.10'
124
+ type: :runtime
125
+ prerelease: false
126
+ version_requirements: !ruby/object:Gem::Requirement
127
+ requirements:
128
+ - - "~>"
129
+ - !ruby/object:Gem::Version
130
+ version: '1.10'
131
+ - !ruby/object:Gem::Dependency
132
+ name: highline
133
+ requirement: !ruby/object:Gem::Requirement
134
+ requirements:
135
+ - - "~>"
136
+ - !ruby/object:Gem::Version
137
+ version: 1.6.21
138
+ type: :runtime
139
+ prerelease: false
140
+ version_requirements: !ruby/object:Gem::Requirement
141
+ requirements:
142
+ - - "~>"
143
+ - !ruby/object:Gem::Version
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
201
+ - !ruby/object:Gem::Dependency
202
+ name: liquid-rails
203
+ requirement: !ruby/object:Gem::Requirement
204
+ requirements:
205
+ - - "~>"
206
+ - !ruby/object:Gem::Version
207
+ version: 0.1.2
208
+ type: :runtime
209
+ prerelease: false
210
+ version_requirements: !ruby/object:Gem::Requirement
211
+ requirements:
212
+ - - "~>"
213
+ - !ruby/object:Gem::Version
214
+ version: 0.1.2
215
+ - !ruby/object:Gem::Dependency
216
+ name: friendly_id
217
+ requirement: !ruby/object:Gem::Requirement
218
+ requirements:
219
+ - - ">="
220
+ - !ruby/object:Gem::Version
221
+ version: 4.0.10
222
+ - - "<"
223
+ - !ruby/object:Gem::Version
224
+ version: '6'
225
+ type: :runtime
226
+ prerelease: false
227
+ version_requirements: !ruby/object:Gem::Requirement
228
+ requirements:
229
+ - - ">="
230
+ - !ruby/object:Gem::Version
231
+ version: 4.0.10
232
+ - - "<"
233
+ - !ruby/object:Gem::Version
234
+ version: '6'
235
+ description: Provide core functions for Comable.
236
+ email:
237
+ - hyoshida@appirits.com
238
+ executables: []
239
+ extensions: []
240
+ extra_rdoc_files: []
241
+ files:
242
+ - MIT-LICENSE
243
+ - Rakefile
244
+ - app/assets/javascripts/comable/application.js
245
+ - app/assets/stylesheets/comable/application.css
246
+ - app/controllers/concerns/comable/permitted_attributes.rb
247
+ - app/helpers/comable/application_helper.rb
248
+ - app/helpers/comable/products_helper.rb
249
+ - app/mailers/comable/order_mailer.rb
250
+ - app/models/comable/ability.rb
251
+ - app/models/comable/address.rb
252
+ - app/models/comable/category.rb
253
+ - app/models/comable/image.rb
254
+ - app/models/comable/order.rb
255
+ - app/models/comable/order/associations.rb
256
+ - app/models/comable/order/callbacks.rb
257
+ - app/models/comable/order/morrisable.rb
258
+ - app/models/comable/order/scopes.rb
259
+ - app/models/comable/order/validations.rb
260
+ - app/models/comable/order_item.rb
261
+ - app/models/comable/order_item/csvable.rb
262
+ - app/models/comable/page.rb
263
+ - app/models/comable/payment.rb
264
+ - app/models/comable/payment_method.rb
265
+ - app/models/comable/product.rb
266
+ - app/models/comable/product/csvable.rb
267
+ - app/models/comable/shipment.rb
268
+ - app/models/comable/shipment_method.rb
269
+ - app/models/comable/stock.rb
270
+ - app/models/comable/stock/csvable.rb
271
+ - app/models/comable/store.rb
272
+ - app/models/comable/theme.rb
273
+ - app/models/comable/tracker.rb
274
+ - app/models/comable/user.rb
275
+ - app/models/concerns/comable/cart_owner.rb
276
+ - app/models/concerns/comable/checkout.rb
277
+ - app/models/concerns/comable/importable.rb
278
+ - app/models/concerns/comable/liquidable.rb
279
+ - app/models/concerns/comable/product/search.rb
280
+ - app/models/concerns/comable/ransackable.rb
281
+ - app/models/concerns/comable/role_owner.rb
282
+ - app/models/concerns/comable/sku_choice.rb
283
+ - app/models/concerns/comable/sku_item.rb
284
+ - app/uploaders/image_uploader.rb
285
+ - app/views/comable/order_mailer/complete.text.erb
286
+ - config/initializers/comma.rb
287
+ - config/locales/en.yml
288
+ - config/locales/ja.yml
289
+ - db/migrate/20131214194807_create_comable_products.rb
290
+ - db/migrate/20140120032559_create_comable_users.rb
291
+ - db/migrate/20140502060116_create_comable_stocks.rb
292
+ - db/migrate/20140723175431_create_comable_orders.rb
293
+ - db/migrate/20140723175810_create_comable_order_items.rb
294
+ - db/migrate/20140817194104_create_comable_payment_methods.rb
295
+ - db/migrate/20140921191416_create_comable_shipment_methods.rb
296
+ - db/migrate/20140926063541_create_comable_stores.rb
297
+ - db/migrate/20141024025526_create_comable_addresses.rb
298
+ - db/migrate/20150111031228_create_comable_categories.rb
299
+ - db/migrate/20150111031229_create_comable_products_categories.rb
300
+ - db/migrate/20150112173706_create_comable_images.rb
301
+ - db/migrate/20150423095210_create_comable_shipments.rb
302
+ - db/migrate/20150511171940_create_comable_payments.rb
303
+ - db/migrate/20150513185230_create_comable_trackers.rb
304
+ - db/migrate/20150519080729_create_comable_pages.rb
305
+ - db/migrate/20150612143226_create_comable_themes.rb
306
+ - db/migrate/20150612143445_add_theme_id_to_comable_stores.rb
307
+ - db/seeds.rb
308
+ - db/seeds/comable/users.rb
309
+ - lib/comable/core.rb
310
+ - lib/comable/core/configuration.rb
311
+ - lib/comable/core/engine.rb
312
+ - lib/comable/deprecator.rb
313
+ - lib/comable/payment_provider.rb
314
+ - lib/comable/payment_provider/base.rb
315
+ - lib/comable/payment_provider/general.rb
316
+ - lib/comable/state_machine_patch.rb
317
+ - lib/comma_extractor_extentions.rb
318
+ - lib/generators/comable/install/install_generator.rb
319
+ - lib/generators/comable/install/templates/config/initializers/comable.rb
320
+ - lib/tasks/comable_tasks.rake
321
+ homepage: https://github.com/appirits/comable#comable
322
+ licenses:
323
+ - MIT
324
+ metadata: {}
325
+ post_install_message:
326
+ rdoc_options: []
327
+ require_paths:
328
+ - lib
329
+ required_ruby_version: !ruby/object:Gem::Requirement
330
+ requirements:
331
+ - - ">="
332
+ - !ruby/object:Gem::Version
333
+ version: 2.1.5
334
+ required_rubygems_version: !ruby/object:Gem::Requirement
335
+ requirements:
336
+ - - ">="
337
+ - !ruby/object:Gem::Version
338
+ version: '0'
339
+ requirements: []
340
+ rubyforge_project:
341
+ rubygems_version: 2.2.2
342
+ signing_key:
343
+ specification_version: 4
344
+ summary: Provide core functions for Comable.
345
+ test_files: []
346
+ has_rdoc: