unidom-order 1.0.1 → 1.1
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/README.md +14 -0
- data/app/models/unidom/order/concerns/as_adjusted.rb +11 -0
- data/app/models/unidom/order/concerns/as_order_placer.rb +11 -0
- data/app/models/unidom/order/concerns/as_order_taker.rb +11 -0
- data/app/models/unidom/order/order.rb +2 -2
- data/app/models/unidom/order/order_adjustment.rb +1 -0
- data/app/models/unidom/order/order_item.rb +1 -2
- data/app/views/layouts/unidom/order/application.html.erb +1 -1
- data/lib/unidom/order/version.rb +1 -1
- metadata +5 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 886e0f2fc020d095320a1625b35811e72134a62c
|
4
|
+
data.tar.gz: 1caf01e51ec566eb451937b3c06bff9e42873424
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ae16527ac881d663e0f6e2ddaf5cb2b2725abcc13e291642496a8d4570be800bb732b84c854f53142263dbbc3a613f6703d383cb70ca34e5263206ac84f50b5d
|
7
|
+
data.tar.gz: 2ff4125a24922b3f7547474f7dbd4b492adcaa8a9b84e580563818d2642b1e1d84bec51ad3722f3fcc5c585b3fda3d3ec8f24085dfafecd36b716b4dc0c9fdbf
|
data/README.md
CHANGED
@@ -86,3 +86,17 @@ Unidom::Order::OrderItem.order! product, of: order, unit_price: 1080.00, quantit
|
|
86
86
|
Unidom::Order::OrderAdjustment.adjust! order, amount: 20, due_to: 'DSCT'
|
87
87
|
# Add the given adjustment into the given order
|
88
88
|
```
|
89
|
+
|
90
|
+
## Include the Concerns
|
91
|
+
```ruby
|
92
|
+
include Unidom::Order::AsOrderPlacer
|
93
|
+
include Unidom::Order::AsOrderTaker
|
94
|
+
```
|
95
|
+
|
96
|
+
### As Order Placer concern
|
97
|
+
The As Order Placer concern do the following tasks for the includer automatically:
|
98
|
+
1. Define the has_many :placed_orders macro as: ``has_many :placed_orders, class_name: 'Unidom::Order::Order', as: :placer``
|
99
|
+
|
100
|
+
### As Order Taker concern
|
101
|
+
The As Order Taker concern do the following tasks for the includer automatically:
|
102
|
+
1. Define the has_many :taken_orders macro as: ``has_many :taken_orders, class_name: 'Unidom::Order::Order', as: :taker``
|
@@ -5,6 +5,7 @@ class Unidom::Order::Order < ActiveRecord::Base
|
|
5
5
|
self.table_name = 'unidom_orders'
|
6
6
|
|
7
7
|
include Unidom::Common::Concerns::ModelExtension
|
8
|
+
include Unidom::Order::Concerns::AsAdjusted
|
8
9
|
|
9
10
|
validates :number, presence: true, length: { is: self.columns_hash['number'].limit }
|
10
11
|
validates :purchase_amount, presence: true, numericality: { less_than: 1000000000, greater_than: 0 }
|
@@ -13,8 +14,7 @@ class Unidom::Order::Order < ActiveRecord::Base
|
|
13
14
|
belongs_to :placer, polymorphic: true
|
14
15
|
belongs_to :taker, polymorphic: true
|
15
16
|
|
16
|
-
has_many :items,
|
17
|
-
has_many :adjustments, class_name: 'Unidom::Order::OrderAdjustment', as: :adjusted
|
17
|
+
has_many :items, class_name: 'Unidom::Order::OrderItem'
|
18
18
|
|
19
19
|
scope :placed_by, ->(placer) { where placer: placer }
|
20
20
|
scope :taken_by, ->(taker) { where taker: taker }
|
@@ -5,6 +5,7 @@ class Unidom::Order::OrderItem < ActiveRecord::Base
|
|
5
5
|
self.table_name = 'unidom_order_items'
|
6
6
|
|
7
7
|
include Unidom::Common::Concerns::ModelExtension
|
8
|
+
include Unidom::Order::Concerns::AsAdjusted
|
8
9
|
|
9
10
|
validates :ordinal, presence: true, numericality: { only_integer: true, greater_than: 0, less_than: 1000000000 }
|
10
11
|
validates :unit_price, presence: true, numericality: { less_than: 1000000000, greater_than: 0 }
|
@@ -16,8 +17,6 @@ class Unidom::Order::OrderItem < ActiveRecord::Base
|
|
16
17
|
belongs_to :ordered, polymorphic: true
|
17
18
|
belongs_to :placer, polymorphic: true
|
18
19
|
|
19
|
-
has_many :adjustments, class_name: 'Unidom::Order::OrderAdjustment', as: :adjusted
|
20
|
-
|
21
20
|
scope :order_is, ->(order) { where order_id: (order.respond_to?(:id) ? order.id : order) }
|
22
21
|
scope :ordered_is, ->(ordered) { where ordered: ordered }
|
23
22
|
scope :placed_by, ->(placer) { where placer: placer }
|
data/lib/unidom/order/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: unidom-order
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: '1.1'
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Topbit Du
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-08-
|
11
|
+
date: 2016-08-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: unidom-common
|
@@ -40,6 +40,9 @@ files:
|
|
40
40
|
- app/assets/stylesheets/unidom/order/application.css
|
41
41
|
- app/controllers/unidom/order/application_controller.rb
|
42
42
|
- app/helpers/unidom/order/application_helper.rb
|
43
|
+
- app/models/unidom/order/concerns/as_adjusted.rb
|
44
|
+
- app/models/unidom/order/concerns/as_order_placer.rb
|
45
|
+
- app/models/unidom/order/concerns/as_order_taker.rb
|
43
46
|
- app/models/unidom/order/order.rb
|
44
47
|
- app/models/unidom/order/order_adjustment.rb
|
45
48
|
- app/models/unidom/order/order_item.rb
|