lucadeal 0.3.1 → 0.4.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 +4 -4
- data/CHANGELOG.md +5 -0
- data/exe/luca-deal +19 -4
- data/lib/luca_deal/invoice.rb +17 -4
- data/lib/luca_deal/version.rb +1 -1
- metadata +5 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 14852f4570ab9b7da28524ffe3c4b9fc2129e96a3f7ade9991cfe2f20c8730e1
|
4
|
+
data.tar.gz: 0a002fdffad8e94900f81ca53d130407c2dee4f03770cc7881d22f7313d20603
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1046732b7d2256f2384186a38cd6d766d8409c7602959d864782f502b0c87729e24b1510c9662a92ea1dae2eb699edfa5e4b9ad36bd4ffd838bb9b42b1ca1ff7
|
7
|
+
data.tar.gz: 4fd222f9031b9032542794d01a81982ca38732ecf38c8dac5ef48a165034dcbcd325646a841595c2b4139d2e30c9471faf5ebeab0b8fab2d140f251e09b5151f
|
data/CHANGELOG.md
CHANGED
data/exe/luca-deal
CHANGED
@@ -177,9 +177,7 @@ class LucaCmd
|
|
177
177
|
date = "#{Date.today.year}-#{Date.today.month}-1"
|
178
178
|
count = 3
|
179
179
|
end
|
180
|
-
if params[:
|
181
|
-
LucaDeal::Invoice.new(date).preview_stdout
|
182
|
-
elsif params[:mail]
|
180
|
+
if params[:mail]
|
183
181
|
LucaDeal::Invoice.new(date).stats_email
|
184
182
|
else
|
185
183
|
render(LucaDeal::Invoice.new(date).stats(count || 1), params)
|
@@ -201,6 +199,16 @@ class LucaCmd
|
|
201
199
|
end
|
202
200
|
end
|
203
201
|
|
202
|
+
def self.print(args = nil, params = {})
|
203
|
+
if args.length >= 2
|
204
|
+
date = "#{args[0]}-#{args[1]}-#{args[2] || '1'}" if !args.empty?
|
205
|
+
LucaDeal::Invoice.new(date).print(nil, params)
|
206
|
+
else
|
207
|
+
date = "#{Date.today.year}-#{Date.today.month}-#{Date.today.day}"
|
208
|
+
LucaDeal::Invoice.new(date).print(args[0], params)
|
209
|
+
end
|
210
|
+
end
|
211
|
+
|
204
212
|
def self.settle(args = nil, params = nil)
|
205
213
|
str = args[0].nil? ? STDIN.read : File.read(args[0])
|
206
214
|
LucaDeal::Invoice.settle(str, params[:term])
|
@@ -377,7 +385,6 @@ when /invoices?/, 'i'
|
|
377
385
|
opt.banner = 'Usage: luca-deal invoices list [options] year month [date]'
|
378
386
|
opt.on('--nu', 'show table in nushell') { |_v| params[:output] = 'nu' }
|
379
387
|
opt.on('-o', '--output VAL', 'output serialized data') { |v| params[:output] = v }
|
380
|
-
opt.on('--html', 'output html invoices') { |_v| params[:html] = 'monthly' }
|
381
388
|
opt.on('--mail', 'send payment list by email') { |_v| params[:mail] = true }
|
382
389
|
args = opt.parse(ARGV)
|
383
390
|
LucaCmd::Invoice.list(args, params)
|
@@ -389,6 +396,13 @@ when /invoices?/, 'i'
|
|
389
396
|
args = opt.parse(ARGV)
|
390
397
|
LucaCmd::Invoice.mail(args, params)
|
391
398
|
end
|
399
|
+
when 'print'
|
400
|
+
OptionParser.new do |opt|
|
401
|
+
opt.banner = 'Usage: luca-deal invoices print [options] <invoice_id | year month>'
|
402
|
+
opt.on('--pdf', 'output PDF invoices. wkhtmlpdf is required') { |_v| params[:output] = :pdf }
|
403
|
+
args = opt.parse(ARGV)
|
404
|
+
LucaCmd::Invoice.print(args, params)
|
405
|
+
end
|
392
406
|
when 'settle'
|
393
407
|
params[:term] = 1
|
394
408
|
OptionParser.new do |opt|
|
@@ -405,6 +419,7 @@ when /invoices?/, 'i'
|
|
405
419
|
puts ' delete'
|
406
420
|
puts ' list'
|
407
421
|
puts ' mail: send mail with invoice'
|
422
|
+
puts ' print: render invoices into HTML/PDF'
|
408
423
|
puts ' settle'
|
409
424
|
exit 1
|
410
425
|
end
|
data/lib/luca_deal/invoice.rb
CHANGED
@@ -40,13 +40,26 @@ module LucaDeal
|
|
40
40
|
end
|
41
41
|
end
|
42
42
|
|
43
|
-
# Render HTML to
|
43
|
+
# Render HTML/PDF to files
|
44
|
+
# TODO: change output dir
|
44
45
|
#
|
45
|
-
def
|
46
|
-
|
46
|
+
def print(id = nil, params = {})
|
47
|
+
filetype = params[:output] || :html
|
48
|
+
if id
|
49
|
+
dat = self.class.find(id)
|
47
50
|
@company = set_company
|
48
51
|
invoice_vars(dat)
|
49
|
-
|
52
|
+
File.open(attachment_name(dat, filetype), 'w') do |f|
|
53
|
+
f.puts render_invoice(filetype)
|
54
|
+
end
|
55
|
+
else
|
56
|
+
self.class.asof(@date.year, @date.month) do |dat, _|
|
57
|
+
@company = set_company
|
58
|
+
invoice_vars(dat)
|
59
|
+
File.open(attachment_name(dat, filetype), 'w') do |f|
|
60
|
+
f.puts render_invoice(filetype)
|
61
|
+
end
|
62
|
+
end
|
50
63
|
end
|
51
64
|
end
|
52
65
|
|
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.
|
4
|
+
version: 0.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Chuma Takahiro
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-05-
|
11
|
+
date: 2022-05-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: lucarecord
|
@@ -103,7 +103,7 @@ metadata:
|
|
103
103
|
homepage_uri: https://github.com/chumaltd/luca/tree/master/lucadeal
|
104
104
|
source_code_uri: https://github.com/chumaltd/luca/tree/master/lucadeal
|
105
105
|
changelog_uri: https://github.com/chumaltd/luca/tree/master/lucadeal/CHANGELOG.md
|
106
|
-
post_install_message:
|
106
|
+
post_install_message:
|
107
107
|
rdoc_options: []
|
108
108
|
require_paths:
|
109
109
|
- lib
|
@@ -119,7 +119,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
119
119
|
version: '0'
|
120
120
|
requirements: []
|
121
121
|
rubygems_version: 3.3.5
|
122
|
-
signing_key:
|
122
|
+
signing_key:
|
123
123
|
specification_version: 4
|
124
124
|
summary: Deal with contracts
|
125
125
|
test_files: []
|