beastie 0.4.0 → 0.5.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.textile +12 -0
- data/bin/beastie +12 -3
- data/lib/beastie/issue.rb +12 -6
- data/lib/beastie/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ca5d460f24e83edbb2b106d2b1f60d8e8c10f5fc
|
4
|
+
data.tar.gz: dd4e8dd316989aea173f854ec5296303ce3a5830
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 836849aadce0e785d18ad285a6264cb0258cb3a6d9cd5efc3452c07b6f2ebc6b3396fcca27804cecd82cf98bc7bcb4b1ea82144e0bf3c27d9f86e203013f7477
|
7
|
+
data.tar.gz: fde34045e57073b772bb47d6633eacc8b822ef966be48366ac558d73af90effec717af1ac897d5051da283a838579beecc6eadb65a67ba836abd7de389188aa5
|
data/README.textile
CHANGED
@@ -107,6 +107,18 @@ will show open issues with priority greater or equal to 4.
|
|
107
107
|
|
108
108
|
Notice that the expression passes as argument to @--where@ is evaluated in Ruby, so any Ruby expression will work.
|
109
109
|
|
110
|
+
Since, after the initial excitement, typing @--where "status == 'open'"@ becomes quite boring, the following shortcuts are available:
|
111
|
+
|
112
|
+
* @--status STATUS@, to select by status
|
113
|
+
* @--type TYPE@, to select by type
|
114
|
+
|
115
|
+
the options are put in and. So, for instance:
|
116
|
+
|
117
|
+
beastie --status open --type bug --where "priority > 3"
|
118
|
+
|
119
|
+
will select the open issues, with type bug and priority greater than 3.
|
120
|
+
|
121
|
+
|
110
122
|
h2. Remarks and Warnings
|
111
123
|
|
112
124
|
Beastie generates human-readable filenames, following the convention "Jekyll":http://jekyllrb.com has for blog posts. Selecting issues using filenames, however, is a bit clumsy and to simplify operations @beastie@ assigns a number to each issue, which can be used to reference them. The number can be seen with the @list@ command and depends upon the order in which issues are listed in the directory. Thus *the same issue might be assigned a different id over time*, if the order in which files are read changes (e.g., if a new back-dated issue is added by hand).
|
data/bin/beastie
CHANGED
@@ -16,6 +16,7 @@ Mercenary.program(:beastie) do |p|
|
|
16
16
|
p.command(:new) do |c|
|
17
17
|
c.syntax "new"
|
18
18
|
c.description "create a new issue"
|
19
|
+
c.alias :add
|
19
20
|
|
20
21
|
c.action do |args, options|
|
21
22
|
if args.size != 0
|
@@ -77,12 +78,20 @@ Mercenary.program(:beastie) do |p|
|
|
77
78
|
c.description "list all issues"
|
78
79
|
|
79
80
|
c.option "where", "-w COND", "--where COND", "filter according to condition"
|
81
|
+
c.option "open", "-s STATUS", "--status STATUS", "list only issues of a given status"
|
82
|
+
c.option "type", "-t TYPE", "--type TYPE", "list only issues of a given type"
|
80
83
|
|
81
84
|
c.action do |_, options|
|
82
85
|
dir = dest_dir options
|
83
86
|
|
84
87
|
issue = Beastie::Issue.new dir
|
85
|
-
|
88
|
+
|
89
|
+
filter = "true" # it is a string because it is eval-uated
|
90
|
+
filter += " and status == '#{options["open"]}'" if options["open"]
|
91
|
+
filter += " and type == '#{options["type"]}'" if options["type"]
|
92
|
+
filter += " and #{options["where"]}" if options["where"]
|
93
|
+
|
94
|
+
issue.list filter
|
86
95
|
end
|
87
96
|
end
|
88
97
|
|
@@ -108,7 +117,7 @@ Mercenary.program(:beastie) do |p|
|
|
108
117
|
p.command(:change) do |c|
|
109
118
|
c.syntax "change N f v"
|
110
119
|
c.description "change value of field 'f' to 'v' in issue N"
|
111
|
-
c.alias
|
120
|
+
c.alias :modify
|
112
121
|
|
113
122
|
c.action do |args, options|
|
114
123
|
dir = dest_dir options
|
@@ -155,7 +164,7 @@ Mercenary.program(:beastie) do |p|
|
|
155
164
|
|
156
165
|
p.command(:projects) do |c|
|
157
166
|
c.syntax "projects"
|
158
|
-
c.alias
|
167
|
+
c.alias :list_projects
|
159
168
|
c.description "list currently defined projects"
|
160
169
|
|
161
170
|
c.action do |_,_|
|
data/lib/beastie/issue.rb
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
require 'date'
|
2
2
|
require 'tempfile'
|
3
3
|
require 'yaml'
|
4
|
+
require 'readline'
|
4
5
|
|
5
6
|
module Beastie
|
6
7
|
class Issue
|
@@ -47,14 +48,14 @@ module Beastie
|
|
47
48
|
PROMPT=2
|
48
49
|
|
49
50
|
ISSUE_FIELDS = {
|
50
|
-
"title" => ["
|
51
|
+
"title" => ["Readline.readline", "'title'", "Short description of the issue"],
|
51
52
|
"status" => ["", "'open'", ""],
|
52
53
|
"created" => ["", "Date.today", ""],
|
53
|
-
"component" => ["
|
54
|
+
"component" => ["Readline.readline", "''", "Component affected by the issue"],
|
54
55
|
"priority" => ["get_int", "3", "Priority (an integer number, e.g., from 1 to 5)"],
|
55
56
|
"severity" => ["get_int", "3", "Severity (an integer number, e.g., from 1 to 5)"],
|
56
57
|
"points" => ["get_int", "5", "Points (an integer estimating difficulty of fix)"],
|
57
|
-
"type" => ["
|
58
|
+
"type" => ["Readline.readline", "'bug'", "Type (e.g., story, task, bug, refactoring)"],
|
58
59
|
"description" => ["get_lines", "''", "Longer description (terminate with '.')"]
|
59
60
|
}
|
60
61
|
|
@@ -184,13 +185,18 @@ module Beastie
|
|
184
185
|
|
185
186
|
# read n-lines (terminated by a ".")
|
186
187
|
def get_lines
|
187
|
-
|
188
|
-
|
188
|
+
lines = []
|
189
|
+
line = ""
|
190
|
+
until line == "."
|
191
|
+
line = Readline.readline
|
192
|
+
lines << line
|
193
|
+
end
|
194
|
+
lines.join("\n")
|
189
195
|
end
|
190
196
|
|
191
197
|
# read an integer
|
192
198
|
def get_int
|
193
|
-
|
199
|
+
Readline.readline.to_i
|
194
200
|
end
|
195
201
|
|
196
202
|
# generate a unique filename for this issue
|
data/lib/beastie/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: beastie
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Adolfo Villafiorita
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-07-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|