ldgr 0.1.9 → 0.2.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/ldgr.taskpaper +7 -0
- data/lib/ldgr/parser.rb +13 -42
- data/lib/ldgr/version.rb +1 -1
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: fc54d8ad8843b07557dc9899ddcdb9e06660d04c
|
4
|
+
data.tar.gz: 8ec9ca15d94b1ce04e50eb3016cd486a4e4c5211
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 355664a991caf16c7dcb27a89ebb8c36a01a2cf6c8ae040e8b7471262eeb022d2d1052a263f6618ac128ddba4aedacf48bbf4771551b3c7920dc6995f5fe25d8
|
7
|
+
data.tar.gz: 9d6ae1acc579e2d0fdc4438a17078c0a93c266c4d909cf842f2c524e9328dccb699194cd06fc5c78ed3741138ff656d4465a613e7b17b28ffcd58ce47202fb89
|
data/ldgr.taskpaper
ADDED
data/lib/ldgr/parser.rb
CHANGED
@@ -25,6 +25,7 @@ module Ldgr
|
|
25
25
|
PROGRAM_NAME = 'ldgr'
|
26
26
|
MATCH = /(?=(\n\d\d\d\d-\d\d-\d\d)(=\d\d\d\d-\d\d-\d\d)*)|\z/
|
27
27
|
OTHER_MATCH = /(?=(\d\d\d\d-\d\d-\d\d)(=\d\d\d\d-\d\d-\d\d)*)/
|
28
|
+
COMMANDS = %w(add sort tag clear open)
|
28
29
|
|
29
30
|
attr_accessor :transactions_file, :config
|
30
31
|
|
@@ -53,29 +54,7 @@ module Ldgr
|
|
53
54
|
# Returns a hash of user-specified config options.
|
54
55
|
def user_config
|
55
56
|
path = Pathname(FILEBASE + 'ldgr.yaml')
|
56
|
-
YAML.load_file(path).to_h
|
57
|
-
end
|
58
|
-
|
59
|
-
# Public: available commands
|
60
|
-
#
|
61
|
-
# Examples
|
62
|
-
#
|
63
|
-
# commands
|
64
|
-
#
|
65
|
-
# Returns an array of command names.
|
66
|
-
def commands
|
67
|
-
%w(add sort tag clear open)
|
68
|
-
end
|
69
|
-
|
70
|
-
# Public: expected setup files
|
71
|
-
#
|
72
|
-
# Examples
|
73
|
-
#
|
74
|
-
# setup_files
|
75
|
-
#
|
76
|
-
# Returns an array of file names.
|
77
|
-
def self.setup_files
|
78
|
-
%w(transactions.dat accounts.dat budgets.dat aliases.dat commodities.dat setup.dat ledger.dat ldgr.yaml)
|
57
|
+
path.exist? ? YAML.load_file(path).to_h : {}
|
79
58
|
end
|
80
59
|
|
81
60
|
# Public: Kicks off the CLI
|
@@ -86,6 +65,8 @@ module Ldgr
|
|
86
65
|
#
|
87
66
|
# Returns nothing.
|
88
67
|
def parse
|
68
|
+
setup
|
69
|
+
|
89
70
|
cli = OptionParser.new do |o|
|
90
71
|
o.banner = "Usage #{PROGRAM_NAME} [add|sort|tag|clear|open]"
|
91
72
|
o.program_name = PROGRAM_NAME
|
@@ -103,7 +84,7 @@ module Ldgr
|
|
103
84
|
end
|
104
85
|
|
105
86
|
command = String(cli.parse(ARGV, into: config)[0])
|
106
|
-
send(command) if
|
87
|
+
send(command) if COMMANDS.include? command
|
107
88
|
end
|
108
89
|
|
109
90
|
# Public: Adds a transaction to the transactions_file.
|
@@ -238,6 +219,8 @@ module Ldgr
|
|
238
219
|
open_file(ARGV[1])
|
239
220
|
end
|
240
221
|
|
222
|
+
private :open
|
223
|
+
|
241
224
|
# Public: ldgr's default configuration options
|
242
225
|
#
|
243
226
|
# Examples
|
@@ -260,25 +243,13 @@ module Ldgr
|
|
260
243
|
# Private: Prepares users' file system for ldgr.
|
261
244
|
#
|
262
245
|
# Returns nothing.
|
263
|
-
def
|
264
|
-
|
265
|
-
|
266
|
-
|
267
|
-
|
268
|
-
end
|
269
|
-
end
|
270
|
-
end
|
271
|
-
|
272
|
-
# Private: Checks if user already has setup files created.
|
273
|
-
#
|
274
|
-
# Returns nothing.
|
275
|
-
def self.config_exist?
|
276
|
-
setup_files.each do |file|
|
277
|
-
return false unless Pathname("#{FILEBASE}#{file}").exist?
|
246
|
+
def setup
|
247
|
+
setup_files = %w(transactions.dat accounts.dat budgets.dat aliases.dat commodities.dat setup.dat ledger.dat ldgr.yaml)
|
248
|
+
FileUtils.mkdir_p(FILEBASE)
|
249
|
+
setup_files.each do |file|
|
250
|
+
FileUtils.touch("#{FILEBASE}#{file}")
|
278
251
|
end
|
279
|
-
true
|
280
252
|
end
|
281
|
-
|
282
|
-
setup
|
253
|
+
private :setup
|
283
254
|
end
|
284
255
|
end
|
data/lib/ldgr/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ldgr
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Brandon Pittman
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-02-
|
11
|
+
date: 2017-02-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: highline
|
@@ -98,6 +98,7 @@ files:
|
|
98
98
|
- bin/ldgr
|
99
99
|
- bin/setup
|
100
100
|
- ldgr.gemspec
|
101
|
+
- ldgr.taskpaper
|
101
102
|
- lib/ldgr.rb
|
102
103
|
- lib/ldgr/parser.rb
|
103
104
|
- lib/ldgr/transaction.rb
|