lucabook 0.2.7 → 0.2.8
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
- - ">="
|