unidom-order 0.3 → 1.0

Sign up to get free protection for your applications and to get access to all the features.
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.