whale 0.3.0 → 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.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/bin/whale +30 -5
  3. data/lib/whale.rb +2 -1
  4. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: f6394ed84b098d65ca2be4a0dbd00904ea2d03c4
4
- data.tar.gz: e402d341944f3c971d4db7b0da4ceed8ecd1f73d
3
+ metadata.gz: c9ceff0c76e62c60e4035b9a18c7dae65b245338
4
+ data.tar.gz: 8c3657ec1f8d2899c7cbe3ce116d1b52432f3d29
5
5
  SHA512:
6
- metadata.gz: 1d32425414eb367cb0bdd12220aaaa89bddc1cf3bd5b07f7a75867b39383875b461039feea6482e3eae34df739dbcdd5ee7b0ad8fe78a1d2708986c0942fcb5d
7
- data.tar.gz: 4ba0d9abf19474b056ee134f65d650626a86fe194377a8e712a15b842797b838fbb1d82c044a0fe88e80f9f642a952a5a5aa6ca1ad7069d91729345519076351
6
+ metadata.gz: d7488100f9467c62001c95d777654e285516ca0a261553d923a9e9103315bf05a8749b66f126c4936cfb76111405d89a750e3d585cd06720db7920f08b1fef30
7
+ data.tar.gz: a77bd74957cebdabc74acab94767e16afb1a627dcfaf76db3770a6b3aae0bcf5b6f54318ad35c30e763eaf9fd326faca80dd95ec7a671edb98c72582df1c30bd
data/bin/whale CHANGED
@@ -4,7 +4,7 @@ require 'logger'
4
4
 
5
5
  USAGE = <<ENDUSAGE
6
6
  Usage:
7
- whale [filter] [-h] [-p paths] [-r] [-f file] [-e id] [-s tag]
7
+ whale [filter] [-h] [-p paths] [-r] [-f file] [-e id] [-s tag] [-c file]
8
8
  [-w] [-n] [-t] [-v] [-d]
9
9
  ENDUSAGE
10
10
 
@@ -16,6 +16,7 @@ HELP = <<ENDHELP
16
16
  -f, --file The file to read
17
17
  -e, --edit Open the editor at the given entry
18
18
  -s, --sort Sort entries by tag value
19
+ -c, --create Create a new file
19
20
  -w, --write Write the entries to stdout
20
21
  -n, --name List the tag names
21
22
  -t, --tags Show the tag values
@@ -64,6 +65,11 @@ filter
64
65
  -s, --sort tag
65
66
  Sort the entries by the given tag value.
66
67
 
68
+ -c, --create file
69
+ Create a new file with the given name. If the file exists, it is opened.
70
+ If no -p is given, the file is created at the WHALEPATH. If WHALEPATH is
71
+ not set, it is created at the current directory.
72
+
67
73
  -w, --write
68
74
  Write the entries, including title, body, and tags, to stdout.
69
75
 
@@ -98,6 +104,7 @@ ARGV.each do |arg|
98
104
  when '-n','--name' then args[:name] = true
99
105
  when '-t','--tags' then next_arg = :tags
100
106
  when '-s','--sort' then next_arg = :sort
107
+ when '-c','--create' then next_arg = :create
101
108
  when '-r','--recursive' then args[:recursive] = true
102
109
  when '-w','--write' then args[:write] = true
103
110
  when '-v','--version' then args[:version] = true
@@ -119,6 +126,17 @@ if args[:version]
119
126
  exit
120
127
  end
121
128
 
129
+ if args[:help]
130
+ puts USAGE
131
+ puts HELP
132
+ exit
133
+ end
134
+
135
+ if !next_arg.nil? and next_arg != :filter
136
+ puts USAGE
137
+ exit
138
+ end
139
+
122
140
  files = []
123
141
  files << args[:file] if args[:file]
124
142
  paths = []
@@ -131,10 +149,16 @@ paths.each { |p| files += list_files_in_path(p, args[:recursive], logger) }
131
149
 
132
150
  logger.debug(files)
133
151
 
134
- if args[:help] or files.empty?
135
- puts USAGE
136
- puts HELP if args[:help]
137
- exit
152
+ if args[:create]
153
+ if ENV['WHALEPATH']
154
+ filename = File.join(ENV['WHALEPATH'].split(':')[0], args[:create])
155
+ elsif args[:path]
156
+ filename = File.join(args[:path].split(':')[0], args[:create])
157
+ else
158
+ filename = args[:create]
159
+ end
160
+ open_editor(ENV['EDITOR'].to_sym, filename, 0, logger)
161
+ exit
138
162
  end
139
163
 
140
164
  entries = []
@@ -167,6 +191,7 @@ if args[:edit]
167
191
  exit
168
192
  end
169
193
  open_editor(ENV['EDITOR'].to_sym, e.tags[:file], e.tags[:line], logger)
194
+ exit
170
195
  end
171
196
 
172
197
  if args[:name] and !args[:write]
@@ -4,7 +4,7 @@ require 'set'
4
4
  require 'logger'
5
5
 
6
6
  MAJOR_VERSION = 0
7
- MINOR_VERSION = 3
7
+ MINOR_VERSION = 4
8
8
  REVISION = 0
9
9
 
10
10
  $DEFAULT_TAGS = [:title, :body, :line, :file, :tags]
@@ -260,3 +260,4 @@ def parse_file(file, logger)
260
260
  entries.each { |e| e.tags = file_entry.tags.merge(e.tags) }
261
261
  return entries
262
262
  end
263
+
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: whale
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ryutaro Ikeda
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-03-11 00:00:00.000000000 Z
11
+ date: 2016-05-01 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Tag and filter your ideas
14
14
  email: ryutaroikeda94@gmail.com