issue-beaver 0.2.0 → 0.2.1
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.
data/.issuebeaver.yml
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
dir: lib
|
data/README.md
CHANGED
@@ -1,8 +1,6 @@
|
|
1
1
|
Issue Beaver
|
2
2
|
============
|
3
3
|
|
4
|
-
**This is work in progress**
|
5
|
-
|
6
4
|
* **Issue Beaver** scans your project's source code for comments containing *TODO*.
|
7
5
|
|
8
6
|
* **Issue Beaver** automatically creates new issues on Github for each TODO comment it finds.
|
@@ -11,7 +9,29 @@ Issue Beaver
|
|
11
9
|
|
12
10
|
The goal is to provide simple and lightweight tracking of low-level technical issues (TODOs) and make the project's progress more transparent for people who don't want to read the source code.
|
13
11
|
|
14
|
-
|
12
|
+
Usage
|
13
|
+
=====
|
14
|
+
|
15
|
+
* Install
|
16
|
+
```sh
|
17
|
+
gem install issue-beaver
|
18
|
+
```
|
19
|
+
|
20
|
+
* Search for todos in the ```app``` directory. Only files in the Git repository are accessed, ever.
|
21
|
+
```sh
|
22
|
+
issuebeaver find app
|
23
|
+
```
|
24
|
+
|
25
|
+
* See what todos are new, modified or closed?
|
26
|
+
```sh
|
27
|
+
issuebeaver status
|
28
|
+
```
|
29
|
+
|
30
|
+
* Open new issues, update issues that have been modified, close issues that have been removed.
|
31
|
+
```sh
|
32
|
+
issuebeaver commit
|
33
|
+
```
|
34
|
+
|
15
35
|
|
16
36
|
Configuration
|
17
37
|
-------------
|
@@ -19,20 +39,20 @@ Configuration
|
|
19
39
|
### Repository
|
20
40
|
Issue beaver tries to use the Github repository specified in **remote.origin** of your local git repository for storing the issues. If you want to use a different repository (e.g. that of your own fork) you can set the **issuebeaver.repository** config variable:
|
21
41
|
|
22
|
-
```
|
42
|
+
```sh
|
23
43
|
git config issuebeaver.repository eckardt/issue-beaver
|
24
44
|
```
|
25
45
|
|
26
46
|
### Github login
|
27
47
|
If you don't want to be asked for your Github login you can set the **github.user** config variable. Your Github password won't be stored.
|
28
48
|
|
29
|
-
```
|
49
|
+
```sh
|
30
50
|
git config github.user eckardt
|
31
51
|
```
|
32
52
|
|
33
53
|
### Issue labels
|
34
54
|
You can specify a list of labels that should be used for issues created by Issue Beaver. Make sure to create the labels for your repository using Github Issues' *Manage Labels* feature, otherwise Issue Beaver will fail.
|
35
55
|
|
36
|
-
```
|
56
|
+
```sh
|
37
57
|
git config issuebeaver.labels todo,@high
|
38
58
|
```
|
@@ -33,7 +33,9 @@ module IssueBeaver
|
|
33
33
|
github_repo = repo_name
|
34
34
|
else
|
35
35
|
url = @git.config["#{repo_name}.url"]
|
36
|
-
|
36
|
+
match = url.match(/git@github\.com:([^\.]+)\.git/) ||
|
37
|
+
url.match(/https?:\/\/github\.com\/([^\.]+)\/?/)
|
38
|
+
github_repo = match[1] if url
|
37
39
|
end
|
38
40
|
github_repo
|
39
41
|
end
|
@@ -50,7 +50,7 @@ module IssueBeaver
|
|
50
50
|
@unmatched_issues ||=
|
51
51
|
Enumerator.new do |yielder|
|
52
52
|
@issues.to_a.each do |issue|
|
53
|
-
next if merged_issues.to_a.map
|
53
|
+
next if merged_issues.to_a.map{|issue| issue.attributes.number }.compact.include? issue.number
|
54
54
|
issue.mark_for_closing if @repo.is_ahead?(issue.commit)
|
55
55
|
yielder << issue
|
56
56
|
end
|
data/lib/issue_beaver/runner.rb
CHANGED
@@ -16,7 +16,7 @@ module IssueBeaver
|
|
16
16
|
|
17
17
|
|
18
18
|
def find(*args)
|
19
|
-
|
19
|
+
load_config(args)
|
20
20
|
|
21
21
|
if todo_comments.all.any?
|
22
22
|
_list_status(todo_comments.all)
|
@@ -27,7 +27,7 @@ module IssueBeaver
|
|
27
27
|
|
28
28
|
|
29
29
|
def status(*args)
|
30
|
-
|
30
|
+
load_config(args)
|
31
31
|
issues = merger(github_issues.all, todo_comments.all).changed
|
32
32
|
if issues.any?
|
33
33
|
_list_status(issues)
|
@@ -38,7 +38,7 @@ module IssueBeaver
|
|
38
38
|
|
39
39
|
|
40
40
|
def diff(*args)
|
41
|
-
|
41
|
+
load_config(args)
|
42
42
|
issues = merger(github_issues.all, todo_comments.all).changed
|
43
43
|
if issues.any?
|
44
44
|
_list_diff(issues)
|
@@ -49,7 +49,7 @@ module IssueBeaver
|
|
49
49
|
|
50
50
|
|
51
51
|
def commit(*args)
|
52
|
-
|
52
|
+
load_config(args)
|
53
53
|
issues = merger(github_issues.all, todo_comments.all).changed
|
54
54
|
issues.each do |issue|
|
55
55
|
issue.save
|
@@ -129,7 +129,7 @@ module IssueBeaver
|
|
129
129
|
Models::GithubIssue.use_repository(Models::GithubIssueRepository.new(
|
130
130
|
repo(config).slug,
|
131
131
|
repo(config).github_user,
|
132
|
-
|
132
|
+
config['github_password'],
|
133
133
|
{:labels => repo(config).labels}))
|
134
134
|
Models::GithubIssue
|
135
135
|
end
|
@@ -165,6 +165,19 @@ module IssueBeaver
|
|
165
165
|
end
|
166
166
|
|
167
167
|
|
168
|
+
def load_config(args)
|
169
|
+
options = args[1..-1]
|
170
|
+
return unless options
|
171
|
+
|
172
|
+
if p_option_index = options.find_index('-p')
|
173
|
+
config['github_password'] = options[p_option_index + 1]
|
174
|
+
2.times{ options.delete_at(p_option_index) }
|
175
|
+
end
|
176
|
+
|
177
|
+
config['dir'] = dir(options[0]) if options[0]
|
178
|
+
end
|
179
|
+
|
180
|
+
|
168
181
|
def dir(path)
|
169
182
|
File.absolute_path(path)
|
170
183
|
end
|
data/lib/issue_beaver/version.rb
CHANGED
@@ -1,3 +1,3 @@
|
|
1
1
|
module IssueBeaver
|
2
|
-
VERSION = '0.2.
|
3
|
-
end
|
2
|
+
VERSION = '0.2.1'
|
3
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: issue-beaver
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.1
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-10-
|
12
|
+
date: 2012-10-18 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: treetop
|
@@ -195,6 +195,7 @@ executables:
|
|
195
195
|
extensions: []
|
196
196
|
extra_rdoc_files: []
|
197
197
|
files:
|
198
|
+
- .issuebeaver.yml
|
198
199
|
- .rspec
|
199
200
|
- Gemfile
|
200
201
|
- README.md
|