comable_core 0.2.1 → 0.2.2
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.
- checksums.yaml +4 -4
- data/app/assets/javascripts/comable/application.js +2 -0
- data/app/helpers/comable/application_helper.rb +7 -19
- data/app/mailers/comable/order_mailer.rb +1 -5
- data/app/models/comable/address.rb +13 -0
- data/app/models/comable/customer.rb +21 -9
- data/app/models/comable/order.rb +15 -12
- data/app/models/comable/order_delivery.rb +3 -1
- data/app/models/comable/order_detail.rb +33 -1
- data/config/locales/ja.yml +2 -1
- data/db/migrate/20140120032559_create_comable_customers.rb +36 -2
- data/db/migrate/20141024025526_create_comable_addresses.rb +19 -0
- data/lib/comable/cart_owner.rb +0 -4
- data/lib/comable/core/configuration.rb +10 -0
- data/lib/comable/core/engine.rb +47 -0
- data/lib/comable_core.rb +10 -0
- metadata +33 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b77ac8195add8320091e5c17e8b8eb99d3a0ef5f
|
4
|
+
data.tar.gz: 9b4e674341684b9d4d6807aa9283a4eee1c40594
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ea16779b2ba3b37d19946de36f67bdbf846914750d4e006ebf86e7483a4c415c7163854e66aa4b1d8f1b7e056d285648bd529d13d0d1000dfb545490b5f19a1d
|
7
|
+
data.tar.gz: 42fba0d835446368be5aec1f6deaf0a316c763751c43998035648fc64ad15e565ac27fa6d9f6f403e04243788cdef7ed43c8c3a91aa406bb791606d9746c21f7
|
@@ -1,12 +1,15 @@
|
|
1
1
|
module Comable
|
2
2
|
module ApplicationHelper
|
3
3
|
def current_store
|
4
|
-
@current_store
|
4
|
+
@current_store ||= Comable::Store.instance
|
5
5
|
end
|
6
6
|
|
7
|
-
|
8
|
-
|
9
|
-
|
7
|
+
# Override the devise method.
|
8
|
+
# The below codes move to core/lib/comable/core/engine.rb:
|
9
|
+
#
|
10
|
+
# def current_customer
|
11
|
+
# ...
|
12
|
+
# end
|
10
13
|
|
11
14
|
def current_order
|
12
15
|
current_customer.incomplete_order
|
@@ -24,20 +27,5 @@ module Comable
|
|
24
27
|
"x#{quantity}"
|
25
28
|
].join(' ')
|
26
29
|
end
|
27
|
-
|
28
|
-
private
|
29
|
-
|
30
|
-
def load_store
|
31
|
-
@current_store = Comable::Store.instance
|
32
|
-
end
|
33
|
-
|
34
|
-
def load_customer
|
35
|
-
@current_customer = logged_in_customer
|
36
|
-
@current_customer ||= Comable::Customer.new(cookies)
|
37
|
-
end
|
38
|
-
|
39
|
-
def logged_in_customer
|
40
|
-
# Please override this method for logged in customer
|
41
|
-
end
|
42
30
|
end
|
43
31
|
end
|
@@ -12,11 +12,7 @@ module Comable
|
|
12
12
|
private
|
13
13
|
|
14
14
|
def subject_for(order)
|
15
|
-
|
16
|
-
current_store.name,
|
17
|
-
I18n.t('comable.order_mailer.complete.subject'),
|
18
|
-
order.code
|
19
|
-
].join(' ')
|
15
|
+
I18n.t('comable.order_mailer.complete.subject', store_name: current_store.name, order_code: order.code)
|
20
16
|
end
|
21
17
|
end
|
22
18
|
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
module Comable
|
2
|
+
class Address < ActiveRecord::Base
|
3
|
+
extend Enumerize
|
4
|
+
|
5
|
+
belongs_to :customer, class_name: Comable::Customer.name, foreign_key: Comable::Customer.table_name.singularize.foreign_key, autosave: false
|
6
|
+
|
7
|
+
enumerize :assign_key, in: {
|
8
|
+
nothing: nil,
|
9
|
+
bill: 1,
|
10
|
+
ship: 2
|
11
|
+
}
|
12
|
+
end
|
13
|
+
end
|
@@ -2,8 +2,12 @@ module Comable
|
|
2
2
|
class Customer < ActiveRecord::Base
|
3
3
|
include CartOwner
|
4
4
|
|
5
|
-
has_many :
|
6
|
-
|
5
|
+
has_many :orders, class_name: Comable::Order.name, foreign_key: table_name.singularize.foreign_key
|
6
|
+
|
7
|
+
has_many :comable_addresses, class_name: Comable::Address.name, foreign_key: table_name.singularize.foreign_key
|
8
|
+
alias_method :addresses, :comable_addresses
|
9
|
+
|
10
|
+
devise(*Comable::Config.devise_strategies[:customer])
|
7
11
|
|
8
12
|
def initialize(*args)
|
9
13
|
obj = args.first
|
@@ -16,12 +20,18 @@ module Comable
|
|
16
20
|
end
|
17
21
|
end
|
18
22
|
|
19
|
-
|
23
|
+
# Add conditions for the orders association.
|
24
|
+
# Override method of the orders association to support Rails 3.x.
|
25
|
+
def orders
|
26
|
+
super.complete
|
27
|
+
end
|
28
|
+
|
29
|
+
def signed_in?
|
20
30
|
!new_record?
|
21
31
|
end
|
22
32
|
|
23
|
-
def
|
24
|
-
!
|
33
|
+
def not_signed_in?
|
34
|
+
!signed_in?
|
25
35
|
end
|
26
36
|
|
27
37
|
def reset_cart
|
@@ -43,18 +53,20 @@ module Comable
|
|
43
53
|
|
44
54
|
def preorder(order_params = {})
|
45
55
|
incomplete_order.attributes = order_params
|
46
|
-
incomplete_order.precomplete
|
56
|
+
incomplete_order.precomplete!
|
57
|
+
incomplete_order
|
47
58
|
end
|
48
59
|
|
49
60
|
def order(order_params = {})
|
50
61
|
incomplete_order.attributes = order_params
|
51
|
-
incomplete_order.complete
|
62
|
+
incomplete_order.complete!
|
63
|
+
incomplete_order.tap { |completed_flag| reset_cart if completed_flag }
|
52
64
|
end
|
53
65
|
|
54
66
|
private
|
55
67
|
|
56
68
|
def current_guest_token
|
57
|
-
return if
|
69
|
+
return if signed_in?
|
58
70
|
@cookies.signed[:guest_token]
|
59
71
|
end
|
60
72
|
|
@@ -62,7 +74,7 @@ module Comable
|
|
62
74
|
orders = find_incomplete_orders
|
63
75
|
return orders.first if orders.any?
|
64
76
|
order = orders.create(family_name: family_name, first_name: first_name, email: email, order_deliveries_attributes: [{ family_name: family_name, first_name: first_name }])
|
65
|
-
@cookies.permanent.signed[:guest_token] = order.guest_token if
|
77
|
+
@cookies.permanent.signed[:guest_token] = order.guest_token if not_signed_in?
|
66
78
|
order
|
67
79
|
end
|
68
80
|
|
data/app/models/comable/order.rb
CHANGED
@@ -3,7 +3,7 @@ module Comable
|
|
3
3
|
belongs_to :customer, class_name: Comable::Customer.name, foreign_key: Comable::Customer.table_name.singularize.foreign_key, autosave: false
|
4
4
|
belongs_to :payment, class_name: Comable::Payment.name, foreign_key: Comable::Payment.table_name.singularize.foreign_key, autosave: false
|
5
5
|
belongs_to :shipment_method, class_name: Comable::ShipmentMethod.name, autosave: false
|
6
|
-
has_many :order_deliveries, dependent: :destroy, class_name: Comable::OrderDelivery.name, foreign_key: table_name.singularize.foreign_key
|
6
|
+
has_many :order_deliveries, dependent: :destroy, class_name: Comable::OrderDelivery.name, foreign_key: table_name.singularize.foreign_key, inverse_of: :order
|
7
7
|
|
8
8
|
accepts_nested_attributes_for :order_deliveries
|
9
9
|
|
@@ -29,16 +29,23 @@ module Comable
|
|
29
29
|
scope :incomplete, -> { where(completed_at: nil) }
|
30
30
|
|
31
31
|
def precomplete
|
32
|
-
|
33
|
-
|
32
|
+
valid_order_quantity?
|
33
|
+
end
|
34
|
+
|
35
|
+
def precomplete!
|
36
|
+
fail Comable::InvalidOrder unless precomplete
|
34
37
|
self
|
35
38
|
end
|
36
39
|
|
37
40
|
def complete
|
38
41
|
# TODO: トランザクションの追加
|
39
42
|
run_callbacks :complete do
|
40
|
-
save_to_complete
|
43
|
+
save_to_complete
|
41
44
|
end
|
45
|
+
end
|
46
|
+
|
47
|
+
def complete!
|
48
|
+
fail Comable::InvalidOrder unless complete
|
42
49
|
self
|
43
50
|
end
|
44
51
|
|
@@ -77,21 +84,17 @@ module Comable
|
|
77
84
|
|
78
85
|
private
|
79
86
|
|
80
|
-
def save_to_complete
|
87
|
+
def save_to_complete
|
81
88
|
self.completed_at = Time.now
|
82
89
|
self.shipment_fee = current_shipment_fee
|
83
90
|
self.total_price = current_total_price
|
84
91
|
generate_code
|
85
92
|
order_deliveries.each(&:save_to_complete)
|
86
|
-
save
|
93
|
+
save
|
87
94
|
end
|
88
95
|
|
89
|
-
def
|
90
|
-
order_deliveries.map(&:order_details).flatten.
|
91
|
-
return errors.add :base, "「#{order_detail.stock.name_with_sku}」の注文数が不正です。" if order_detail.quantity <= 0
|
92
|
-
quantity = order_detail.stock.quantity - order_detail.quantity
|
93
|
-
return errors.add :base, I18n.t('comable.errors.messages.product_soldout', name: order_detail.stock.name_with_sku) if quantity < 0
|
94
|
-
end
|
96
|
+
def valid_order_quantity?
|
97
|
+
order_deliveries.map(&:order_details).flatten.map(&:valid_order_quantity?).all?
|
95
98
|
end
|
96
99
|
|
97
100
|
def generate_code
|
@@ -1,7 +1,9 @@
|
|
1
1
|
module Comable
|
2
2
|
class OrderDelivery < ActiveRecord::Base
|
3
3
|
belongs_to :order, class_name: Comable::Order.name, foreign_key: Comable::Order.table_name.singularize.foreign_key
|
4
|
-
has_many :order_details, dependent: :destroy, class_name: Comable::OrderDetail.name, foreign_key: table_name.singularize.foreign_key
|
4
|
+
has_many :order_details, dependent: :destroy, class_name: Comable::OrderDetail.name, foreign_key: table_name.singularize.foreign_key, inverse_of: :order_delivery
|
5
|
+
|
6
|
+
accepts_nested_attributes_for :order_details
|
5
7
|
|
6
8
|
delegate :customer, to: :order
|
7
9
|
delegate :guest_token, to: :order
|
@@ -6,13 +6,17 @@ module Comable
|
|
6
6
|
belongs_to :stock, class_name: Comable::Stock.name, foreign_key: Comable::Stock.table_name.singularize.foreign_key
|
7
7
|
belongs_to :order_delivery, class_name: Comable::OrderDelivery.name, foreign_key: Comable::OrderDelivery.table_name.singularize.foreign_key
|
8
8
|
|
9
|
+
accepts_nested_attributes_for :stock
|
10
|
+
|
9
11
|
# TODO: バリデーションの追加
|
10
12
|
|
11
13
|
delegate :product, to: :stock
|
12
14
|
delegate :guest_token, to: :order_delivery
|
13
15
|
delegate :complete?, to: :order_delivery
|
16
|
+
delegate :order, to: :order_delivery
|
14
17
|
|
15
18
|
before_save :save_to_add_cart, unless: :complete?
|
19
|
+
before_save :verify_quantity, unless: :complete?
|
16
20
|
|
17
21
|
def save_to_complete
|
18
22
|
self.attributes = current_attributes
|
@@ -39,10 +43,30 @@ module Comable
|
|
39
43
|
price * quantity
|
40
44
|
end
|
41
45
|
|
46
|
+
def valid_order_quantity?
|
47
|
+
if quantity <= 0
|
48
|
+
add_order_quantity_invalid_error_to_order
|
49
|
+
return false
|
50
|
+
end
|
51
|
+
|
52
|
+
if stock.soldout?(quantity: quantity)
|
53
|
+
add_product_soldout_error_to_order
|
54
|
+
return false
|
55
|
+
end
|
56
|
+
|
57
|
+
true
|
58
|
+
end
|
59
|
+
|
42
60
|
private
|
43
61
|
|
44
62
|
def decrement_stock
|
45
|
-
|
63
|
+
return unless quantity
|
64
|
+
return unless stock.quantity
|
65
|
+
stock.quantity -= quantity
|
66
|
+
end
|
67
|
+
|
68
|
+
def verify_quantity
|
69
|
+
fail Comable::NoStock if stock.soldout?(quantity: quantity)
|
46
70
|
end
|
47
71
|
|
48
72
|
def current_attributes
|
@@ -56,5 +80,13 @@ module Comable
|
|
56
80
|
sku_v_choice_name: stock.sku_v_choice_name
|
57
81
|
}
|
58
82
|
end
|
83
|
+
|
84
|
+
def add_order_quantity_invalid_error_to_order
|
85
|
+
order.errors.add :base, I18n.t('comable.errors.messages.order_quantity_invalid', name: stock.name_with_sku)
|
86
|
+
end
|
87
|
+
|
88
|
+
def add_product_soldout_error_to_order
|
89
|
+
order.errors.add :base, I18n.t('comable.errors.messages.product_soldout', name: stock.name_with_sku)
|
90
|
+
end
|
59
91
|
end
|
60
92
|
end
|
data/config/locales/ja.yml
CHANGED
@@ -9,6 +9,7 @@ ja:
|
|
9
9
|
products_soldout: 'ご指定の商品は在庫が不足しています。'
|
10
10
|
product_not_found: '%{name}は存在しないか削除された可能性があります。'
|
11
11
|
products_not_found: 'ご指定の商品は存在しないか削除された可能性があります。'
|
12
|
+
order_quantity_invalid: '%{name}の注文数が不正です。'
|
12
13
|
|
13
14
|
carts:
|
14
15
|
add_product: '1つの商品がカートに入りました'
|
@@ -20,7 +21,7 @@ ja:
|
|
20
21
|
|
21
22
|
order_mailer:
|
22
23
|
complete:
|
23
|
-
subject: '注文完了メール'
|
24
|
+
subject: '%{store_name} 注文完了メール %{order_code}'
|
24
25
|
dear: *honorific
|
25
26
|
introductions: |-
|
26
27
|
%{store_name} をご利用いただきましてありがとうございます。
|
@@ -1,9 +1,43 @@
|
|
1
1
|
class CreateComableCustomers < ActiveRecord::Migration
|
2
2
|
def change
|
3
3
|
create_table :comable_customers do |t|
|
4
|
-
|
5
|
-
t.string :first_name, null: false
|
4
|
+
## Database authenticatable
|
6
5
|
t.string :email, null: false
|
6
|
+
t.string :encrypted_password
|
7
|
+
|
8
|
+
## Recoverable
|
9
|
+
t.string :reset_password_token
|
10
|
+
t.datetime :reset_password_sent_at
|
11
|
+
|
12
|
+
## Rememberable
|
13
|
+
t.datetime :remember_created_at
|
14
|
+
|
15
|
+
## Trackable
|
16
|
+
t.integer :sign_in_count, default: 0, null: false
|
17
|
+
t.datetime :current_sign_in_at
|
18
|
+
t.datetime :last_sign_in_at
|
19
|
+
t.string :current_sign_in_ip
|
20
|
+
t.string :last_sign_in_ip
|
21
|
+
|
22
|
+
## Confirmable
|
23
|
+
# t.string :confirmation_token
|
24
|
+
# t.datetime :confirmed_at
|
25
|
+
# t.datetime :confirmation_sent_at
|
26
|
+
# t.string :unconfirmed_email # Only if using reconfirmable
|
27
|
+
|
28
|
+
## Lockable
|
29
|
+
# t.integer :failed_attempts, default: 0, null: false # Only if lock strategy is :failed_attempts
|
30
|
+
# t.string :unlock_token # Only if unlock strategy is :email or :both
|
31
|
+
# t.datetime :locked_at
|
32
|
+
|
33
|
+
## Others
|
34
|
+
t.string :family_name
|
35
|
+
t.string :first_name
|
7
36
|
end
|
37
|
+
|
38
|
+
add_index :comable_customers, :email, unique: true
|
39
|
+
add_index :comable_customers, :reset_password_token, unique: true
|
40
|
+
# add_index :comable_customers, :confirmation_token, unique: true
|
41
|
+
# add_index :comable_customers, :unlock_token, unique: true
|
8
42
|
end
|
9
43
|
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
class CreateComableAddresses < ActiveRecord::Migration
|
2
|
+
def change
|
3
|
+
create_table :comable_addresses do |t|
|
4
|
+
t.integer :comable_customer_id, null: false
|
5
|
+
t.integer :assign_key
|
6
|
+
t.string :family_name, null: false
|
7
|
+
t.string :first_name, null: false
|
8
|
+
t.string :zip_code, null: false, limit: 8
|
9
|
+
t.integer :comable_state_id
|
10
|
+
t.string :state_name, null: false
|
11
|
+
t.string :city, null: false
|
12
|
+
t.string :detail
|
13
|
+
t.string :phone_number, null: false, limit: 18
|
14
|
+
t.datetime :last_used_at
|
15
|
+
end
|
16
|
+
|
17
|
+
add_index :comable_addresses, [:comable_customer_id, :assign_key], unique: true, name: :comable_addresses_idx_01
|
18
|
+
end
|
19
|
+
end
|
data/lib/comable/cart_owner.rb
CHANGED
@@ -49,18 +49,14 @@ module Comable
|
|
49
49
|
cart_items = find_cart_items_by(stock)
|
50
50
|
if cart_items.any?
|
51
51
|
cart_item = cart_items.first
|
52
|
-
fail Comable::NoStock if stock.soldout?(quantity: quantity + cart_item.quantity)
|
53
52
|
cart_item.quantity += quantity
|
54
53
|
(cart_item.quantity > 0) ? cart_item.save : cart_item.destroy
|
55
54
|
else
|
56
|
-
fail Comable::NoStock if stock.soldout?(quantity: quantity)
|
57
55
|
cart_items.create(quantity: quantity)
|
58
56
|
end
|
59
57
|
end
|
60
58
|
|
61
59
|
def reset_stock_from_cart(stock, quantity)
|
62
|
-
fail Comable::NoStock if stock.soldout?(quantity: quantity)
|
63
|
-
|
64
60
|
cart_items = find_cart_items_by(stock)
|
65
61
|
if quantity > 0
|
66
62
|
return add_stock_to_cart(stock, quantity) if cart_items.empty?
|
data/lib/comable/core/engine.rb
CHANGED
@@ -9,6 +9,53 @@ module Comable
|
|
9
9
|
end
|
10
10
|
|
11
11
|
config.autoload_paths << "#{config.root}/app/models/concerns" if Rails::VERSION::MAJOR == 3
|
12
|
+
|
13
|
+
initializer 'comable.congiguration', before: :load_config_initializers do |app|
|
14
|
+
app.config.comable = Comable::Core::Configuration
|
15
|
+
Comable::Config = app.config.comable
|
16
|
+
end
|
17
|
+
|
18
|
+
# refs: https://github.com/plataformatec/devise/wiki/How-To:-Use-devise-inside-a-mountable-engine
|
19
|
+
initializer 'comable.devise.setup', before: :load_config_initializers do
|
20
|
+
Devise.setup do |config|
|
21
|
+
config.mailer_sender = 'comable@example.com'
|
22
|
+
|
23
|
+
require 'devise/orm/active_record'
|
24
|
+
|
25
|
+
config.case_insensitive_keys = [:email]
|
26
|
+
config.strip_whitespace_keys = [:email]
|
27
|
+
config.skip_session_storage = [:http_auth]
|
28
|
+
config.stretches = Rails.env.test? ? 1 : 10
|
29
|
+
config.reconfirmable = true
|
30
|
+
config.password_length = 8..128
|
31
|
+
config.reset_password_within = 6.hours
|
32
|
+
config.sign_out_via = :delete
|
33
|
+
|
34
|
+
# ==> Mountable engine configurations
|
35
|
+
config.router_name = :comable
|
36
|
+
config.parent_controller = 'Comable::ApplicationController'
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
initializer 'comable.devise.helpers' do
|
41
|
+
module DeviseHelperPrepender
|
42
|
+
def define_helpers(mapping)
|
43
|
+
super.tap do
|
44
|
+
mapping = mapping.name
|
45
|
+
return if mapping.to_sym != :customer
|
46
|
+
|
47
|
+
class_eval <<-METHODS, __FILE__, __LINE__ + 1
|
48
|
+
alias_method :devise_current_#{mapping}, :current_#{mapping}
|
49
|
+
def current_#{mapping}
|
50
|
+
@current_#{mapping} ||= devise_current_#{mapping} || Comable::Customer.new(cookies)
|
51
|
+
end
|
52
|
+
METHODS
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
57
|
+
Devise::Controllers::Helpers.singleton_class.send(:prepend, DeviseHelperPrepender)
|
58
|
+
end
|
12
59
|
end
|
13
60
|
end
|
14
61
|
end
|
data/lib/comable_core.rb
CHANGED
@@ -1,3 +1,8 @@
|
|
1
|
+
require 'devise'
|
2
|
+
require 'jquery-rails'
|
3
|
+
require 'enumerize'
|
4
|
+
|
5
|
+
require 'comable/core/configuration'
|
1
6
|
require 'comable/core/engine'
|
2
7
|
|
3
8
|
require 'comable/errors'
|
@@ -5,4 +10,9 @@ require 'comable/cart_owner'
|
|
5
10
|
require 'comable/payment_method'
|
6
11
|
|
7
12
|
module Comable
|
13
|
+
class << self
|
14
|
+
def setup(&_)
|
15
|
+
yield Comable::Config
|
16
|
+
end
|
17
|
+
end
|
8
18
|
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.2.
|
4
|
+
version: 0.2.2
|
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-
|
11
|
+
date: 2014-11-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -24,6 +24,34 @@ dependencies:
|
|
24
24
|
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: 3.2.0
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: devise
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '3.2'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '3.2'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: enumerize
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ">="
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
type: :runtime
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ">="
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
27
55
|
description: Provide core functions for Comable.
|
28
56
|
email:
|
29
57
|
- hyoshida@appirits.com
|
@@ -37,6 +65,7 @@ files:
|
|
37
65
|
- app/helpers/comable/application_helper.rb
|
38
66
|
- app/helpers/comable/products_helper.rb
|
39
67
|
- app/mailers/comable/order_mailer.rb
|
68
|
+
- app/models/comable/address.rb
|
40
69
|
- app/models/comable/customer.rb
|
41
70
|
- app/models/comable/order.rb
|
42
71
|
- app/models/comable/order_delivery.rb
|
@@ -59,7 +88,9 @@ files:
|
|
59
88
|
- db/migrate/20140817194104_create_comable_payments.rb
|
60
89
|
- db/migrate/20140921191416_create_comable_shipment_methods.rb
|
61
90
|
- db/migrate/20140926063541_create_comable_stores.rb
|
91
|
+
- db/migrate/20141024025526_create_comable_addresses.rb
|
62
92
|
- lib/comable/cart_owner.rb
|
93
|
+
- lib/comable/core/configuration.rb
|
63
94
|
- lib/comable/core/engine.rb
|
64
95
|
- lib/comable/errors.rb
|
65
96
|
- lib/comable/payment_method.rb
|