unidom-order 0.3 → 1.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: c2bc8ba284224681a3b72648e4e52f1766c3102e
4
- data.tar.gz: d221bcddeb76942316bd8d5e5a141a00de073d94
3
+ metadata.gz: 96ca7f0fb037a4248a7fb2bc2c3dbdc4a9df971c
4
+ data.tar.gz: 34414799a3d6ff47bf00e1b8770071f875573ab8
5
5
  SHA512:
6
- metadata.gz: e8055a0a0b387806e379201d9ce9239768e29c66e50a5685e8affcebd98faeb58a0dd3628151ee55bf0be5fbb741b1f9975c34bed675b0c764d5b217c754251a
7
- data.tar.gz: eb2ca7fc49b0349a1ffe32a407b6391472da82274320bc221249408f68114223f51f1c0e59d7ffa7e22672be547f5e62219433b7018c037a69a3507ea9a85cbb
6
+ metadata.gz: 8c958775d48cae6ee404261c110730556b738c63c7dab26dd81c0695277f23f7861f74cc2a1a9a8fe0c2c2c647701a3dcdfb377f4122a764309e0d9e5195999d
7
+ data.tar.gz: e14c47b65bb7c08424b6939915e366302b2bdbc92bf89a150512e32788ff3ba055ea3eec1116f0aa333e4354773e4439ff20017bb0c3e380b9bb350f08c72c52
data/README.md CHANGED
@@ -80,9 +80,9 @@ order = Unidom::Order::Order.where(number: 'ZBCDEFGHIJKL').first
80
80
  order.items # Order Items
81
81
  order.adjustments # Order Adjustments
82
82
 
83
- Unidom::Order::OrderItem.order! order, product, 1080.00, 2
83
+ Unidom::Order::OrderItem.order! product, of: order, unit_price: 1080.00, quantity: 2
84
84
  # Add the given product into the given order
85
85
 
86
- Unidom::Order::OrderAdjustment.adjust! order, 20, 'DSCT'
86
+ Unidom::Order::OrderAdjustment.adjust! order, amount: 20, due_to: 'DSCT'
87
87
  # Add the given adjustment into the given order
88
88
  ```
@@ -12,13 +12,13 @@ class Unidom::Order::OrderAdjustment < ActiveRecord::Base
12
12
 
13
13
  scope :adjusted_is, ->(adjusted) { where adjusted: adjusted }
14
14
 
15
- def self.adjust!(adjusted, amount, adjustment_factor_code = 'FRGT')
16
- adjustment = self.adjusted_is(adjusted).adjustment_factor_coded_as(adjustment_factor_code).valid_at.alive.first
15
+ def self.adjust!(adjusted, amount: 0, due_to: 'FRGT')
16
+ adjustment = self.adjusted_is(adjusted).adjustment_factor_coded_as(due_to).valid_at.alive.first
17
17
  if adjustment.present?
18
18
  adjustment.amount = amount
19
19
  adjustment.save!
20
20
  else
21
- create! adjusted: adjusted, amount: amount, adjustment_factor_code: adjustment_factor_code
21
+ create! adjusted: adjusted, amount: amount, adjustment_factor_code: due_to
22
22
  end
23
23
  end
24
24
 
@@ -22,8 +22,8 @@ class Unidom::Order::OrderItem < ActiveRecord::Base
22
22
  scope :ordered_is, ->(ordered) { where ordered: ordered }
23
23
  scope :placed_by, ->(placer) { where placer: placer }
24
24
 
25
- def self.order!(order, ordered, unit_price, quantity = 1, placer = order.placer)
26
- item = order.items.ordered_is(ordered).placed_by(placer).valid_at.alive.first
25
+ def self.order!(ordered, of: nil, by: of.placer, unit_price: 0, quantity: 1)
26
+ item = of.items.ordered_is(ordered).placed_by(by).valid_at.alive.first
27
27
  if item.present?
28
28
  item.quantity += quantity
29
29
  item.unit_price = unit_price
@@ -31,8 +31,8 @@ class Unidom::Order::OrderItem < ActiveRecord::Base
31
31
  item.subtotal_amount = item.purchase_amount+item.adjustments.valid_at.alive.sum(:amount).to_f
32
32
  item.save!
33
33
  else
34
- ordinal = 1+order.items.valid_at.alive.maximum(:ordinal).to_i
35
- order.items.create! ordered: ordered, placer: placer, ordinal: ordinal, quantity: quantity, unit_price: unit_price, purchase_amount: unit_price*quantity, subtotal_amount: unit_price*quantity, opened_at: Time.now
34
+ ordinal = 1+of.items.valid_at.alive.maximum(:ordinal).to_i
35
+ of.items.create! ordered: ordered, placer: by, ordinal: ordinal, quantity: quantity, unit_price: unit_price, purchase_amount: unit_price*quantity, subtotal_amount: unit_price*quantity, opened_at: Time.now
36
36
  end
37
37
  end
38
38
 
@@ -1,5 +1,5 @@
1
1
  module Unidom
2
2
  module Order
3
- VERSION = '0.3'.freeze
3
+ VERSION = '1.0'.freeze
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,27 +1,27 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: unidom-order
3
3
  version: !ruby/object:Gem::Version
4
- version: '0.3'
4
+ version: '1.0'
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-07-21 00:00:00.000000000 Z
11
+ date: 2016-08-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: unidom-common
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: '0.9'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - "~>"
24
+ - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0.9'
27
27
  description: Unidom (UNIfied Domain Object Model) is a series of domain model engines.