lucadeal 0.5.4 → 0.5.6

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
  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