comable-core 0.6.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 (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,425 @@
1
+ ja:
2
+ comable:
3
+ cart: カート
4
+ shopping_cart: ショッピングカート
5
+ checkout: レジに進む
6
+ show_cart: カートを見る
7
+ search: 検索
8
+ category: カテゴリー
9
+ my_account: マイアカウント
10
+ sign_in: ログイン
11
+ sign_out: ログアウト
12
+ guest: ゲスト
13
+ guest_order: ログインせずに進む
14
+ add_to_cart: カートに入れる
15
+ browse_related_products: 関連商品を探す
16
+ reorder: 再度注文
17
+ change_email_or_password: メールアドレス、パスワードを変更する
18
+ edit_your_address_book: アドレス帳を編集する
19
+ address_book: アドレス帳
20
+ order_history: 注文履歴
21
+ next_step: 次へ進む
22
+ use_this_address: この住所を使う
23
+ complete_order: 注文を確定する
24
+ use_as_billing_address: 請求先住所として使用する
25
+ use_as_shipping_address: 配送先住所として使用する
26
+ new_billing_address: 新しい請求先住所
27
+ new_shipping_address: 新しい配送先住所
28
+ edit_billing_address: 請求先住所の編集
29
+ edit_shipping_address: 配送先住所の編集
30
+ other_addresses: その他の住所
31
+ new_address: 新しい住所
32
+ successful: 成功しました
33
+ failure: 失敗しました
34
+ products: '商品'
35
+ pages: 'ページ'
36
+ home: 'ホーム'
37
+ support: 'サポート'
38
+ sample_header: 'サンプルテキスト'
39
+ sample_subheader: 'これはサンプルテキストです。'
40
+ sample_text: 'ここにあなたのお好きなメッセージを埋め込むことができます。'
41
+ default_store_name: 'K&B style'
42
+
43
+ price: &price
44
+ '価格'
45
+ quantity: &quantity
46
+ '個数'
47
+ item_total_price: &item_total_price
48
+ '合計価格'
49
+ item_total_quantity: &item_total_quantity
50
+ '合計商品数'
51
+ soldout:
52
+ '品切れ'
53
+ honorific: &honorific
54
+ '%{name} 様'
55
+
56
+ checkout_flow:
57
+ sign_in: ログイン
58
+ address_and_payment: 配送・会計
59
+ confirm: 確認
60
+ complete: 注文完了
61
+
62
+ actions:
63
+ new: 新規作成
64
+ edit: 編集する
65
+ create: 登録する
66
+ update: 更新する
67
+ destroy: 削除
68
+ cancel: キャンセル
69
+ continue: 続ける
70
+
71
+ errors:
72
+ messages:
73
+ out_of_stock: '(%{name})が在庫を超過しています。'
74
+ out_of_stocks: '在庫を超過する個数の注文が含まれている可能性があります。'
75
+ product_not_found: '%{name}は存在しないか削除された可能性があります。'
76
+ products_not_found: 'ご指定の商品は存在しないか削除された可能性があります。'
77
+
78
+ carts:
79
+ added: '1つの商品がカートに入りました'
80
+ empty: 'カートに商品が入っていません'
81
+ updated: 'カートの内容が変更されました'
82
+ invalid: 'カートにいくつかのエラーがあります'
83
+
84
+ orders:
85
+ success: '注文が完了しました'
86
+ failure: '注文に失敗しました。入力項目を見直してください。'
87
+
88
+ order_mailer:
89
+ complete:
90
+ subject: '%{store_name} 注文完了メール %{order_code}'
91
+ dear: *honorific
92
+ introductions: |-
93
+ %{store_name} をご利用いただきましてありがとうございます。
94
+ ご注文内容は下記のとおりです。
95
+ outroductions: |-
96
+ またのご利用をお待ちしております。
97
+ %{store_name}
98
+
99
+ admin:
100
+ not_found: レコードが見つかりませんでした。
101
+ general: 一般
102
+ images: 画像
103
+ main_image: メイン画像
104
+ sub_image: サブ画像
105
+ home: ホーム
106
+ product: 商品
107
+ index: 一覧
108
+ search: 検索
109
+ back_to_store: ストアに戻る
110
+ confirmation_to_remove_product: この操作は元に戻せません。商品を削除してもよろしいですか?
111
+ confirmation_to_remove_stock: この操作は元に戻せません。在庫を削除してもよろしいですか?
112
+ confirmation_to_remove_page: この操作は元に戻せません。ページを削除してもよろしいですか?
113
+ you_can_drag_and_drop: ドラッグ&ドロップの操作でツリーを編集できます。
114
+ you_can_right_click: 右クリックでメニューを表示できます。
115
+ link_to_add_new_node: '次のリンクから新しいカテゴリを追加できます: '
116
+ link_to_add_new_stock: '次のリンクから新しい在庫を追加できます: '
117
+ check_this_product_in_frontend: 'この商品をフロントで確認する'
118
+ preview: プレビュー
119
+ note: 'NOTE:'
120
+ results: 件
121
+ times: 回
122
+ more: その他
123
+ access_denied: アクセス権がありません
124
+ order_count: 注文数
125
+ new_orders: 新規受注
126
+ new_users: 新規顧客
127
+ sales: 売上
128
+ better_than_last_week: '先週との比較 (%{percentage}%)'
129
+ edit_profile: プロフィールを編集
130
+ please_fill_when_using_sku: SKUを利用する場合はこの項目を記入してください。
131
+ operation: 操作
132
+ stocks: 在庫
133
+ clear_search_conditions: 検索条件をクリア
134
+ add_search_condition: 検索条件を追加
135
+ remove_search_condition: '×'
136
+ advanced_search: 詳細検索
137
+ bill: 請求先
138
+ ship: 配送先
139
+ add_sub_image: サブ画像を追加
140
+ sign_in: ログイン
141
+ sign_out: ログアウト
142
+ export_to_csv: 'CSV形式でエクスポート'
143
+ export_to_excel: 'Excel形式でエクスポート'
144
+ import: 'ファイルからインポート...'
145
+ unknown_file_type: '対応していないファイル形式です: %{filename}'
146
+ is_not_exists: 'が存在しません。'
147
+ ship: '発送'
148
+ help: 'ヘルプ'
149
+ tracker_code_help_introduction: |-
150
+ トラッキングコードには、特殊な記号を使うことでトラッキングIDや注文情報を埋め込むことができます。
151
+ たとえば <code>{{ order.total_price }}</code> のように書くと注文の合計金額を埋め込むことができます。
152
+ 実際の画面ではこれが <code>1500</code> のように出力されます。
153
+ tracker_code_help_additional: '<code>order.order_items</code> は配列で、各要素から次の情報を取り出すことができます。'
154
+ list_of_usable_variables: '利用可能な変数は次の通りです。'
155
+ mote_infomation_for_syntax: '構文についての詳しい情報は次のページをご覧ください:'
156
+ help_of_store_email: 'この項目は顧客に送信するメールの送信元として利用されます。未入力の場合はメールが送信されません。'
157
+ files: 'ファイル一覧'
158
+ use_this_theme: 'このテーマを使う'
159
+ available_assigns: '利用可能な変数'
160
+ available_assigns_in_all_pages: 'すべてのページで利用可能な変数'
161
+ available_filters: '利用可能なフィルター'
162
+ about_sintax: '構文について'
163
+ please_see_following_page_for_syntax: '構文については次のページを参照してください:'
164
+ please_select_file_form_directory_tree_to_edit: 'ディレクトリーツリーから編集したいファイルを選択してください。'
165
+ here_editor_will_be_displayed_and_you_can_edit_file: 'ここにエディタが表示されてファイルの内容を編集できます。'
166
+ nav:
167
+ dashboard: ダッシュボード
168
+ order: 注文管理
169
+ product: 商品管理
170
+ stock: 在庫管理
171
+ category: カテゴリ
172
+ page: ページ
173
+ user: ユーザー
174
+ general_settings: 一般設定
175
+ store: ストア設定
176
+ shipment_method: 発送管理
177
+ payment_method: 決済管理
178
+ tracker: トラッキング情報
179
+ theme: 'テーマ'
180
+ products:
181
+ detail: 商品詳細
182
+ list: '商品一覧'
183
+ orders:
184
+ detail: 注文明細
185
+ cart: カート情報
186
+ user: ユーザー詳細
187
+ shipment: 送料
188
+ payment: 支払手数料
189
+ users:
190
+ detail: ユーザー詳細
191
+ edit: 編集
192
+ new_orders: '最新の注文 (%{count}件)'
193
+ pages:
194
+ general: 一般
195
+ seo: SEO
196
+ visibility: 公開/非公開
197
+ published: 公開
198
+ unpublished: 非公開
199
+ stores:
200
+ edit: 編集
201
+ shipment_methods:
202
+ edit: 編集
203
+ payment_methods:
204
+ edit: 編集
205
+ actions:
206
+ index: 一覧
207
+ new: 新規作成
208
+ edit: 編集する
209
+ update: 変更する
210
+ destroy: 削除する
211
+ save: 保存する
212
+ cancel: キャンセル
213
+ property: 'プロパティ'
214
+ categories:
215
+ new_node: 新しいカテゴリ
216
+
217
+ sample:
218
+ suede_dress: 'スウェードワンピース'
219
+ girly_coat: 'ダブルボタンガーリーコート'
220
+ fur_gloves: 'サイドステッチファー付き手袋'
221
+ leather_boots: '本革ロングブーツ'
222
+ clothing: '衣類'
223
+ color: 'カラー'
224
+ size: 'サイズ'
225
+ navy: 'ネイビー'
226
+ beige: 'ベージュ'
227
+ black_cat: 'クロネコ'
228
+ credit_card: 'クレジットカード'
229
+
230
+ activerecord:
231
+ state_machines:
232
+ comable/order:
233
+ state:
234
+ states:
235
+ cart: カート
236
+ orderer: 請求先住所の選択
237
+ delivery: 配送先住所の選択
238
+ shipment: 発送方法の選択
239
+ payment: 決済方法の選択
240
+ confirm: 注文内容を確認
241
+ completed: '注文完了'
242
+ canceled: 'キャンセル'
243
+ resumed: '再開'
244
+ events:
245
+ cancel: 'キャンセル'
246
+ resume: '再開'
247
+ comable/payment:
248
+ state:
249
+ states:
250
+ pending: '準備中'
251
+ ready: 'オーソリ完了'
252
+ completed: '決済完了'
253
+ canceled: 'キャンセル'
254
+ resumed: '再開'
255
+ comable/shipment:
256
+ state:
257
+ states:
258
+ pending: '準備中'
259
+ ready: '準備完了'
260
+ completed: '発送完了'
261
+ canceled: 'キャンセル'
262
+ resumed: '再開'
263
+
264
+ models:
265
+ comable/order: ご注文
266
+ comable/order_items: ご注文明細
267
+
268
+ attributes:
269
+ comable/user:
270
+ id: ID
271
+ email: メールアドレス
272
+ password: パスワード
273
+ password_confirmation: パスワード(確認)
274
+ current_password: 現在のパスワード
275
+ bill_address: 請求先住所
276
+ ship_address: 配送先住所
277
+ bill_full_name: 配送先氏名
278
+ orders: 注文数
279
+ role: 権限
280
+ sign_in_count: ログイン回数
281
+ current_sign_in_at: ログイン日時
282
+ last_sign_in_at: 最終ログイン日時
283
+ current_sign_in_ip: ログインIP
284
+ last_sign_in_ip: 最終ログインIP
285
+ comable/order:
286
+ id: ID
287
+ code: 注文番号
288
+ email: メールアドレス
289
+ bill_address: ご請求先
290
+ ship_address: お届け先
291
+ payment_method: お支払い方法
292
+ shipment_method: 発送方法
293
+ payment_fee: '支払い手数料'
294
+ shipment_fee: 送料
295
+ item_total_price: 商品合計
296
+ total_price: 合計
297
+ order_items: 商品
298
+ completed_at: 注文日時
299
+ state: ステータス
300
+ bill_address: 請求先住所
301
+ ship_address: 配送先住所
302
+ bill_full_name: 配送先氏名
303
+ order_items: 注文明細
304
+ user_id: ユーザーID
305
+ guest_token: ゲストトークン
306
+ payment_state: '決済ステータス'
307
+ shipment_state: '配送ステータス'
308
+ comable/order_item: &comable_order_item
309
+ quantity: *quantity
310
+ price: *price
311
+ product: 商品情報
312
+ subtotal_price: 小計
313
+ name: 商品名
314
+ code: SKU商品コード
315
+ sku_h_item_name: SKU横軸項目名
316
+ sku_v_item_name: SKU縦軸項目名
317
+ sku_h_choice_name: SKU横軸選択肢名
318
+ sku_v_choice_name: SKU縦軸選択肢名
319
+ order: 注文
320
+ comable/address: &comable_address
321
+ full_name: お名前
322
+ family_name: 姓
323
+ first_name: 名
324
+ state_name: 都道府県
325
+ zip_code: 郵便番号
326
+ city: 市町村
327
+ detail: その他
328
+ phone_number: 電話番号
329
+ comable/product:
330
+ id: ID
331
+ code: 商品コード
332
+ name: 商品名
333
+ price: 価格
334
+ caption: キャプション
335
+ categories: カテゴリ
336
+ sku_h_item_name: SKU横軸項目名
337
+ sku_v_item_name: SKU縦軸項目名
338
+ comable/stock:
339
+ id: ID
340
+ code: SKU商品コード
341
+ quantity: 在庫
342
+ sku_h_choice_name: SKU横軸選択肢名
343
+ sku_v_choice_name: SKU縦軸選択肢名
344
+ product: 商品
345
+ product_code: 商品コード
346
+ comable/store:
347
+ name: ストア名
348
+ meta_keywords: メタキーワード
349
+ meta_description: メタディスクリプション
350
+ email: メールアドレス
351
+ comable/shipment_method:
352
+ name: 発送方法名
353
+ fee: 手数料
354
+ activated_flag: この発送方法を有効にする
355
+ traking_url: トラッキングURL
356
+ comable/payment_method:
357
+ name: 決済方法名
358
+ payment_provider: 決済プロバイダ
359
+ fee: '手数料'
360
+ enable_price: 利用可能な価格範囲
361
+ comable/tracker:
362
+ activated_flag: 'このトラッキング情報を有効にする'
363
+ name: 'トラッキング名'
364
+ tracker_id: 'トラッキングID'
365
+ code: 'トラッキングコード'
366
+ place: '設置場所'
367
+ comable/order/order_items:
368
+ <<: *comable_order_item
369
+ comable/order/bill_address:
370
+ <<: *comable_address
371
+ comable/order/ship_address:
372
+ <<: *comable_address
373
+ comable/payment:
374
+ id: 'ID'
375
+ order_id: '注文ID'
376
+ payment_method_id: '決済方法ID'
377
+ fee: '手数料'
378
+ state: 'ステータス'
379
+ completed_at: '決済日時'
380
+ comable/shipment:
381
+ id: 'ID'
382
+ order_id: '注文ID'
383
+ shipment_method_id: '発送方法ID'
384
+ fee: '手数料'
385
+ state: 'ステータス'
386
+ tracking_number: 'トラッキング番号'
387
+ completed_at: '発送日時'
388
+ comable/page:
389
+ id: ID
390
+ title: タイトル
391
+ content: 内容
392
+ seo: 検索対策
393
+ page_title: ページタイトル
394
+ meta_description: メタディスクリプション
395
+ meta_keywords: メタキーワード
396
+ slug: スラッグ
397
+ published_at: 公開日
398
+ created_at: 作成日
399
+ updated_at: 更新日
400
+
401
+ enumerize:
402
+ comable/user:
403
+ role:
404
+ customer: 顧客
405
+ reporter: 報告者
406
+ admin: 管理者
407
+ comable/tracker:
408
+ place:
409
+ everywhere: 'すべて'
410
+ checkout: '注文完了画面'
411
+
412
+ views:
413
+ pagination:
414
+ first: "&laquo; 最初"
415
+ last: "最後 &raquo;"
416
+ next: "次 &rsaquo;"
417
+ previous: "&lsaquo; 前"
418
+ truncate: "&hellip;"
419
+
420
+ ransack:
421
+ predicates:
422
+ gteq: 以上
423
+ lteq: 以下
424
+ eq_any_splitted: 完全一致
425
+ cont_any_splitted: 部分一致
@@ -0,0 +1,15 @@
1
+ class CreateComableProducts < ActiveRecord::Migration
2
+ def change
3
+ create_table :comable_products do |t|
4
+ t.string :name, null: false
5
+ t.string :code, null: false
6
+ t.integer :price, null: false
7
+ t.text :caption
8
+ t.string :sku_h_item_name
9
+ t.string :sku_v_item_name
10
+ t.timestamps null: false
11
+ end
12
+
13
+ add_index :comable_products, :code, unique: true
14
+ end
15
+ end
@@ -0,0 +1,46 @@
1
+ class CreateComableUsers < ActiveRecord::Migration
2
+ def change
3
+ create_table :comable_users do |t|
4
+ ## Database authenticatable
5
+ t.string :email, null: false
6
+ t.string :role, null: false
7
+ t.string :encrypted_password
8
+
9
+ ## Recoverable
10
+ t.string :reset_password_token
11
+ t.datetime :reset_password_sent_at
12
+
13
+ ## Rememberable
14
+ t.datetime :remember_created_at
15
+
16
+ ## Trackable
17
+ t.integer :sign_in_count, default: 0, null: false
18
+ t.datetime :current_sign_in_at
19
+ t.datetime :last_sign_in_at
20
+ t.string :current_sign_in_ip
21
+ t.string :last_sign_in_ip
22
+
23
+ ## Confirmable
24
+ # t.string :confirmation_token
25
+ # t.datetime :confirmed_at
26
+ # t.datetime :confirmation_sent_at
27
+ # t.string :unconfirmed_email # Only if using reconfirmable
28
+
29
+ ## Lockable
30
+ # t.integer :failed_attempts, default: 0, null: false # Only if lock strategy is :failed_attempts
31
+ # t.string :unlock_token # Only if unlock strategy is :email or :both
32
+ # t.datetime :locked_at
33
+
34
+ ## Others
35
+ t.references :bill_address
36
+ t.references :ship_address
37
+
38
+ t.timestamps null: false
39
+ end
40
+
41
+ add_index :comable_users, :email, unique: true
42
+ add_index :comable_users, :reset_password_token, unique: true
43
+ # add_index :comable_users, :confirmation_token, unique: true
44
+ # add_index :comable_users, :unlock_token, unique: true
45
+ end
46
+ end