lucadeal 0.5.4 → 0.5.6

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
  SHA256:
3
- metadata.gz: 2949b0572b91897e61ac23dddef865f9779493a682dea931f761c7dcad6c6d67
4
- data.tar.gz: 220961320a93dfd9f32481d667ebce0ef44848f12735972e085a315f5cccf673
3
+ metadata.gz: 7938104c239ce8cdc4d5ccc3b7545aba808ee13924705df3ace6bc76be83660e
4
+ data.tar.gz: 47b8e214254a6b224488dd1c1691e7bc4257b85f4fdd5338591199ecbaecf6be
5
5
  SHA512:
6
- metadata.gz: b23afc420d0a0f3389a6e18c1687a0df15afebef13d1328e3afd8e55837790548b1160f0e9586c279304e50cf2524523b03c714f054f6e8dfe36b55d30b1b382
7
- data.tar.gz: 22273a0acfaaad332070fa2a7235f3709cd2571325f04293122800c62a979336dbff201fa3311a8d5dcfc50d5a583adb99e968c27744b5824ba5e86090712884
6
+ metadata.gz: b167651ef30ca197bd82dbdc1b20e56489f608647d70b1c16e1e73f8af0c252d65c1fc60dfff020785588ad09f57f4a67f1d3c74c65e49a78e2053fcd9c6fdb1
7
+ data.tar.gz: 6d31167a9c6942798551266b27719a90a798ac7edd9c94e71be37117e830e53e70b04faf5a5a68c74b5c74220c278f898f49fddaed3bae54a8b7a2295755e355
data/CHANGELOG.md CHANGED
@@ -1,3 +1,11 @@
1
+ ## LucaDeal 0.5.6
2
+
3
+ * `luca-deal report balance` now prints customer ID.
4
+
5
+ ## LucaDeal 0.5.5
6
+
7
+ * `luca-deal report balance --detail` now correctly handles historical Customer attributes.
8
+
1
9
  ## LucaDeal 0.5.4
2
10
 
3
11
  * Fix: missing CONST visibility.
data/README.md CHANGED
@@ -76,7 +76,7 @@ Invoice conditions are defined by contracts.
76
76
  ### Send Invoice
77
77
 
78
78
  Invoice is implemented with HTML & ERB. Copy [default template](lib/luca_deal/templates/invoice.html.erb) to `templates/` in the data directory, and customize.
79
- If you want to send invoices in PDF, you need to install `wkhtmltopdf command separately. Send mail command is as bellows:`
79
+ If you want to send invoices in PDF, you need to install `wkhtmltopdf` command separately. Send mail command is:
80
80
 
81
81
  ```
82
82
  $ luca-deal invoice mail yyyy m
@@ -133,7 +133,7 @@ Contract is core object for calculation. Common fields are as follows:
133
133
  | | effective | must | | Start date of the contract. |
134
134
  | | defunct | | | End date of the contract. |
135
135
 
136
- Fields for subscription customers are as bellows:
136
+ Fields for subscription customers are:
137
137
 
138
138
  | Top level | Second level | | historical | Description |
139
139
  |-----------|---------------|----------|------------|------------------------------------------------------------------------------------------------------|
@@ -151,7 +151,7 @@ Fields for subscription customers are as bellows:
151
151
  | | id | | | contract id of fee with sales partner. |
152
152
 
153
153
 
154
- Fields for sales fee are as bellows:
154
+ Fields for sales fee:
155
155
 
156
156
  | Top level | Second level | | historical | Description |
157
157
  |-----------|--------------|----------|------------|-------------------------------------------------------------------------------------|
@@ -91,10 +91,8 @@ module LucaDeal
91
91
 
92
92
  def self.report(date, scan_years = 10, detail: false, due: false)
93
93
  fy_end = Date.new(date.year, date.month, -1)
94
- if detail
95
- customers = {}.tap do |h|
96
- Customer.all.each { |c| h[c['name']] = c }
97
- end
94
+ customers = {}.tap do |h|
95
+ Customer.all.each { |c| h[c['id']] = LucaSupport::Code.parse_current(c, fy_end) }
98
96
  end
99
97
  [].tap do |res|
100
98
  items = {}
@@ -113,7 +111,7 @@ module LucaDeal
113
111
  next if (settle_date && settle_date <= fy_end)
114
112
  end
115
113
 
116
- customer = invoice.dig('customer', 'name')
114
+ customer = invoice.dig('customer', 'id')
117
115
  items[customer] ||= { 'unsettled' => BigDecimal('0'), 'invoices' => [] }
118
116
  items[customer]['unsettled'] += (invoice.dig('subtotal', 0, 'items') + invoice.dig('subtotal', 0, 'tax')||0)
119
117
  items[customer]['invoices'] << invoice
@@ -121,7 +119,8 @@ module LucaDeal
121
119
  end
122
120
  items.each do |k, item|
123
121
  row = {
124
- 'customer' => k,
122
+ 'id' => k,
123
+ 'customer' => customers.dig(k, 'name'),
125
124
  'unsettled' => LucaSupport::Code.readable(item['unsettled']),
126
125
  }
127
126
  if detail
@@ -17,7 +17,7 @@ module LucaDeal
17
17
  YAML.dump(list).tap { |l| puts l }
18
18
  end
19
19
 
20
- # Save data with hash in Product format. Simple format is also available as bellows:
20
+ # Save data with hash in Product format. Simple format is also available as follows:
21
21
  # {
22
22
  # name: 'item_name(required)', price: 'item_price', qty: 'item_qty',
23
23
  # initial: { name: 'item_name', price: 'item_price', qty: 'item_qty' }
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module LucaDeal
4
- VERSION = '0.5.4'
4
+ VERSION = '0.5.6'
5
5
  end
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.5.4
4
+ version: 0.5.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chuma Takahiro
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-03-17 00:00:00.000000000 Z
11
+ date: 2024-04-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: lucarecord
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: 0.7.0
19
+ version: 0.7.5
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
- version: 0.7.0
26
+ version: 0.7.5
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: bundler
29
29
  requirement: !ruby/object:Gem::Requirement