lucabook 0.2.7 → 0.2.8
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-book +20 -5
- data/lib/luca_book.rb +2 -0
- data/lib/luca_book/journal.rb +7 -0
- data/lib/luca_book/state.rb +8 -0
- data/lib/luca_book/version.rb +1 -1
- metadata +5 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8a024fa5882d001a6fce7d60863cf0d5d1fefbb4ae92dc0a774a5ce79eeb5749
|
4
|
+
data.tar.gz: 7ce4e31ef3c99a02790a462a5db798fd65c9248ef1b2e467ad6a6920f0fa8cee
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 911cd82032b9d138e356d5a1d1fd7ca95c396ae953426071fd7334ec33cae25882746a5f4b353396211b24de3c79c16a2b8767f172e6368dc1dc0d5195b8a278
|
7
|
+
data.tar.gz: eda9e10010600b88708b08d5b099d18f870b73dea3d59d6ea7f8ac216588d4c4335846a4c084c90a470dad90facfa0aa076cfa625ddc6615c65302d834162006
|
data/exe/luca-book
CHANGED
@@ -1,7 +1,12 @@
|
|
1
1
|
#!/usr/bin/ruby
|
2
2
|
|
3
|
-
require
|
4
|
-
require
|
3
|
+
require 'optparse'
|
4
|
+
require 'luca_book'
|
5
|
+
require 'luca_book/console'
|
6
|
+
|
7
|
+
def import(args, params)
|
8
|
+
LucaBook::Import.new(args[0]).import_csv
|
9
|
+
end
|
5
10
|
|
6
11
|
def list(args, params)
|
7
12
|
if params["c"] or params["code"]
|
@@ -24,10 +29,19 @@ def report(args, params)
|
|
24
29
|
end
|
25
30
|
end
|
26
31
|
|
32
|
+
LucaRecord::Base.valid_project?
|
27
33
|
cmd = ARGV.shift
|
28
34
|
|
29
35
|
case cmd
|
30
|
-
when
|
36
|
+
when 'import'
|
37
|
+
params = {}
|
38
|
+
OptionParser.new do |opt|
|
39
|
+
opt.banner = 'Usage: luca import filepath'
|
40
|
+
# TODO: need to handle import config
|
41
|
+
args = opt.parse!(ARGV)
|
42
|
+
import(args, params)
|
43
|
+
end
|
44
|
+
when 'list'
|
31
45
|
params = {}
|
32
46
|
OptionParser.new do |opt|
|
33
47
|
opt.banner = 'Usage: luca list [year month]'
|
@@ -36,7 +50,7 @@ when "list"
|
|
36
50
|
args = opt.parse!(ARGV)
|
37
51
|
list(args, params)
|
38
52
|
end
|
39
|
-
when
|
53
|
+
when 'report'
|
40
54
|
params = {}
|
41
55
|
OptionParser.new do |opt|
|
42
56
|
opt.banner = 'Usage: luca report'
|
@@ -45,8 +59,9 @@ when "report"
|
|
45
59
|
args = opt.parse!(ARGV)
|
46
60
|
report(args, params)
|
47
61
|
end
|
48
|
-
when
|
62
|
+
when '--help'
|
49
63
|
puts 'Usage: luca subcommand'
|
64
|
+
puts ' import: import records'
|
50
65
|
puts ' list: list records'
|
51
66
|
puts ' report: show reports'
|
52
67
|
else
|
data/lib/luca_book.rb
CHANGED
data/lib/luca_book/journal.rb
CHANGED
@@ -35,6 +35,13 @@ module LucaBook
|
|
35
35
|
end
|
36
36
|
end
|
37
37
|
|
38
|
+
# define new transaction ID & write data at once
|
39
|
+
def self.create_record!(date_obj, codes = nil)
|
40
|
+
gen_record_file!(@dirname, date_obj, codes) do |f|
|
41
|
+
f.write CSV.generate('', col_sep: "\t", headers: false) { |c| yield(c) }
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
38
45
|
#
|
39
46
|
# collect values on specified key
|
40
47
|
#
|
data/lib/luca_book/state.rb
CHANGED
@@ -218,6 +218,7 @@ module LucaBook
|
|
218
218
|
end
|
219
219
|
end
|
220
220
|
|
221
|
+
# TODO: replace load_tsv -> generic load_tsv_dict
|
221
222
|
def load_start
|
222
223
|
file = LucaSupport::Config::Pjdir + 'start.tsv'
|
223
224
|
{}.tap do |dic|
|
@@ -227,6 +228,13 @@ module LucaBook
|
|
227
228
|
end
|
228
229
|
end
|
229
230
|
|
231
|
+
def load_tsv(path)
|
232
|
+
return enum_for(:load_tsv, path) unless block_given?
|
233
|
+
|
234
|
+
data = CSV.read(path, headers: true, col_sep: "\t", encoding: 'UTF-8')
|
235
|
+
data.each { |row| yield row }
|
236
|
+
end
|
237
|
+
|
230
238
|
def self.calc_diff(num, code)
|
231
239
|
amount = /\./.match(num.to_s) ? BigDecimal(num) : num.to_i
|
232
240
|
amount * pn_debit(code.to_s)
|
data/lib/luca_book/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: lucabook
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.8
|
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-10-
|
11
|
+
date: 2020-10-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: lucarecord
|
@@ -73,7 +73,8 @@ files:
|
|
73
73
|
- lib/luca_book/state.rb
|
74
74
|
- lib/luca_book/version.rb
|
75
75
|
homepage: https://github.com/chumaltd/luca/tree/master/lucabook
|
76
|
-
licenses:
|
76
|
+
licenses:
|
77
|
+
- GPL
|
77
78
|
metadata:
|
78
79
|
homepage_uri: https://github.com/chumaltd/luca/tree/master/lucabook
|
79
80
|
source_code_uri: https://github.com/chumaltd/luca/tree/master/lucabook
|
@@ -85,7 +86,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
85
86
|
requirements:
|
86
87
|
- - ">="
|
87
88
|
- !ruby/object:Gem::Version
|
88
|
-
version:
|
89
|
+
version: 2.6.0
|
89
90
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
90
91
|
requirements:
|
91
92
|
- - ">="
|