lucadeal 0.2.7 → 0.2.9
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/exe/luca-deal +4 -1
- data/lib/luca_deal/contract.rb +29 -5
- data/lib/luca_deal/setup.rb +1 -1
- data/lib/luca_deal/version.rb +1 -1
- metadata +18 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a4958ee224643a3be3408a9b2c4043ac0ca37a1a4c7f3a537d626756a410e117
|
4
|
+
data.tar.gz: 74d8ead724f3cf89b0d5163565316c9421d1f8a81675e1fa28411b6248674b43
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8f91f2b22e69bfa5bbde799ad4664a22b19513e75bcc5bf4a0459e5f0717a945d62abd73850821b320fcd0850c0a77537872f156769e3d3693c8e6c4de24c7c5
|
7
|
+
data.tar.gz: 4f333744805790545bc8ee27eb771b441a6be18dc2b635c15121a385ba7713880c22295c43e5524d1f593a55018ab506c1f56c79775db08583922594dfcab6c7
|
data/exe/luca-deal
CHANGED
@@ -28,7 +28,7 @@ def contract(args = nil, params = {})
|
|
28
28
|
case params['mode']
|
29
29
|
when 'create'
|
30
30
|
if params['customer_id']
|
31
|
-
id = LucaDeal::Contract.new.generate!(params['customer_id'])
|
31
|
+
id = LucaDeal::Contract.new.generate!(params['customer_id'], params['category'])
|
32
32
|
puts "Successfully generated Contract #{id}" if id
|
33
33
|
puts 'Conditions are tentative. Edit contract detail.' if id
|
34
34
|
else
|
@@ -87,6 +87,9 @@ when 'contract'
|
|
87
87
|
params['mode'] = 'create'
|
88
88
|
params['customer_id'] = v
|
89
89
|
end
|
90
|
+
opt.on('--salesfee', 'create contract as sales fee definition') do |_v|
|
91
|
+
params['category'] = 'sales_fee'
|
92
|
+
end
|
90
93
|
args = opt.parse(ARGV)
|
91
94
|
contract(args, params)
|
92
95
|
end
|
data/lib/luca_deal/contract.rb
CHANGED
@@ -19,28 +19,52 @@ module LucaDeal
|
|
19
19
|
def active
|
20
20
|
self.class.all do |data|
|
21
21
|
contract = parse_current(data)
|
22
|
+
contract['items'] = contract['items'].map { |item| parse_current(item) }
|
22
23
|
next if !self.class.active_period?(contract)
|
23
24
|
|
24
25
|
yield contract
|
25
26
|
end
|
26
27
|
end
|
27
28
|
|
28
|
-
def generate!(customer_id)
|
29
|
+
def generate!(customer_id, mode = nil)
|
29
30
|
LucaDeal::Customer.find(customer_id) do |customer|
|
30
31
|
current_customer = parse_current(customer)
|
31
32
|
obj = { 'customer_id' => current_customer['id'], 'customer_name' => current_customer['name'] }
|
33
|
+
obj['terms'] = { 'effective' => @date }
|
34
|
+
if mode == 'sales_fee'
|
35
|
+
obj.merge! salesfee_template
|
36
|
+
else
|
37
|
+
obj.merge! monthly_template
|
38
|
+
end
|
39
|
+
self.class.create(obj)
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
43
|
+
def self.active_period?(dat)
|
44
|
+
!dat.dig('terms').nil?
|
45
|
+
end
|
46
|
+
|
47
|
+
private
|
48
|
+
|
49
|
+
def monthly_template
|
50
|
+
{}.tap do |obj|
|
32
51
|
obj['items'] = [{
|
33
52
|
'name' => '_ITEM_NAME_FOR_INVOICE_',
|
34
53
|
'qty' => 1,
|
35
54
|
'price' => 0
|
36
55
|
}]
|
37
|
-
obj['terms'] = { 'billing_cycle' => 'monthly'
|
38
|
-
self.class.create(obj)
|
56
|
+
obj['terms'] = { 'billing_cycle' => 'monthly' }
|
39
57
|
end
|
40
58
|
end
|
41
59
|
|
42
|
-
def
|
43
|
-
|
60
|
+
def salesfee_template
|
61
|
+
{}.tap do |obj|
|
62
|
+
obj['rate'] = {
|
63
|
+
'default' => '0.2',
|
64
|
+
'initial' => '0.2'
|
65
|
+
}
|
66
|
+
obj['terms'] = { 'category' => 'sales_fee' }
|
67
|
+
end
|
44
68
|
end
|
45
69
|
end
|
46
70
|
end
|
data/lib/luca_deal/setup.rb
CHANGED
data/lib/luca_deal/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: lucadeal
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.9
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Chuma Takahiro
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-11-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: lucarecord
|
@@ -28,14 +28,14 @@ dependencies:
|
|
28
28
|
name: bundler
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - "
|
31
|
+
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: '1.17'
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- - "
|
38
|
+
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '1.17'
|
41
41
|
- !ruby/object:Gem::Dependency
|
@@ -52,6 +52,20 @@ dependencies:
|
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '5.0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: rake
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ">="
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: 12.3.3
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ">="
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: 12.3.3
|
55
69
|
description: 'Deal with contracts
|
56
70
|
|
57
71
|
'
|