hustle_and_flow 0.0.1 → 0.0.2
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/bin/hustle +5 -0
- data/lib/hustle_and_flow/binary/runner.rb +35 -0
- data/lib/hustle_and_flow/commands/start.rb +36 -0
- data/lib/hustle_and_flow/errors/unknown_issue_action_error.rb +6 -0
- data/lib/hustle_and_flow/formatters/branch_table_formatter.rb +81 -0
- data/lib/hustle_and_flow/formatters/issue_detail_formatter.rb +74 -0
- data/lib/hustle_and_flow/formatters/issue_table_formatter.rb +80 -0
- data/lib/hustle_and_flow/io/shell.rb +102 -0
- data/lib/hustle_and_flow/issue_tracker.rb +18 -0
- data/lib/hustle_and_flow/issue_trackers/github/issue.rb +192 -0
- data/lib/hustle_and_flow/issue_trackers/github/issues.rb +89 -0
- data/lib/hustle_and_flow/issue_trackers/github.rb +71 -0
- data/lib/hustle_and_flow/utils/string.rb +25 -0
- data/lib/hustle_and_flow/utils/url_slug.rb +28 -0
- data/lib/hustle_and_flow/vcs_repository.rb +19 -0
- data/lib/hustle_and_flow/version.rb +1 -1
- data/lib/hustle_and_flow/version_control/git/branch.rb +136 -0
- data/lib/hustle_and_flow/version_control/git/branches.rb +93 -0
- data/lib/hustle_and_flow/version_control/git/repository.rb +99 -0
- data/lib/hustle_and_flow.rb +1 -2
- data/spec/lib/hustle_and_flow/formatters/branch_table_formatter_spec.rb +44 -0
- data/spec/lib/hustle_and_flow/formatters/issue_detail_formatter_spec.rb +49 -0
- data/spec/lib/hustle_and_flow/formatters/issue_table_formatter_spec.rb +89 -0
- data/spec/lib/hustle_and_flow/io/shell_spec.rb +154 -0
- data/spec/lib/hustle_and_flow/issue_tracker_spec.rb +7 -0
- data/spec/lib/hustle_and_flow/issue_trackers/github/issue_spec.rb +354 -0
- data/spec/lib/hustle_and_flow/issue_trackers/github/issues_spec.rb +91 -0
- data/spec/lib/hustle_and_flow/issue_trackers/github_spec.rb +51 -0
- data/spec/lib/hustle_and_flow/vcs_repository_spec.rb +15 -0
- data/spec/lib/hustle_and_flow/version_control/git/branch_spec.rb +101 -0
- data/spec/lib/hustle_and_flow/version_control/git/branches_spec.rb +57 -0
- data/spec/lib/hustle_and_flow/version_control/git/repository_spec.rb +36 -0
- data/spec/lib/utils/url_slug_spec.rb +74 -0
- data/spec/spec_helper.rb +3 -0
- data/spec/support/git_repo.rb +43 -0
- metadata +128 -16
- data/.gitignore +0 -19
- data/.ruby-version +0 -1
- data/.travis.yml +0 -13
- data/Gemfile +0 -4
- data/Gemfile.lock +0 -56
- data/Rakefile +0 -2
- data/hustle_and_flow.gemspec +0 -37
@@ -0,0 +1,51 @@
|
|
1
|
+
require 'rspectacular'
|
2
|
+
require 'hustle_and_flow/issue_trackers/github'
|
3
|
+
|
4
|
+
module HustleAndFlow
|
5
|
+
module IssueTrackers
|
6
|
+
describe Github, :vcr do
|
7
|
+
let(:repo) { OpenStruct.new(base_name: 'thekompanee/hustle_and_flow') }
|
8
|
+
let(:tracker) { Github.new(repo: repo) }
|
9
|
+
|
10
|
+
it 'can find a list of issues' do
|
11
|
+
issues = tracker.find_issues_by(status: 'open')
|
12
|
+
|
13
|
+
expect(issues).to be_a Github::Issues
|
14
|
+
expect(issues.count).to eql 29
|
15
|
+
end
|
16
|
+
|
17
|
+
it 'can find an issue based on the type and title' do
|
18
|
+
issue = tracker.find_or_create_issue type: 'bug',
|
19
|
+
title: 'Menu item specifications not working'
|
20
|
+
|
21
|
+
expect(issue).to be_a Github::Issue
|
22
|
+
expect(issue.number).to eql 36
|
23
|
+
end
|
24
|
+
|
25
|
+
it 'can find an issue based on the number' do
|
26
|
+
issue = tracker.find_or_create_issue number: 2
|
27
|
+
|
28
|
+
expect(issue).to be_a Github::Issue
|
29
|
+
expect(issue.number).to eql 2
|
30
|
+
end
|
31
|
+
|
32
|
+
it 'can create an issue if the found issue does not exist' do
|
33
|
+
random = SecureRandom.hex(4)
|
34
|
+
issue = tracker.find_or_create_issue type: 'feature',
|
35
|
+
title: "Ninjitsu #{random}"
|
36
|
+
|
37
|
+
expect(issue).to be_a Github::Issue
|
38
|
+
expect(issue.title).to eql "Ninjitsu #{random}"
|
39
|
+
end
|
40
|
+
|
41
|
+
it 'can assign an issue to a user' do
|
42
|
+
issue = tracker.find_or_create_issue type: 'feature',
|
43
|
+
title: 'Ninjitsu'
|
44
|
+
|
45
|
+
assigned_issue = Github.assign_issue(issue, to: 'jfelchner')
|
46
|
+
|
47
|
+
expect(assigned_issue).to be_assigned_to 'jfelchner'
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require 'hustle_and_flow/vcs_repository'
|
3
|
+
|
4
|
+
module HustleAndFlow
|
5
|
+
describe VcsRepository do
|
6
|
+
it 'can determine the base name of the repo' do
|
7
|
+
with_repo do |git|
|
8
|
+
git.source.add_remote('origin', 'https://github.com/thekompanee/hustle_and_flow.git')
|
9
|
+
repo = VcsRepository.new(path: git.source.dir.to_s)
|
10
|
+
|
11
|
+
expect(repo.base_name).to eql 'thekompanee/hustle_and_flow'
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1,101 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require 'hustle_and_flow/version_control/git/branch'
|
3
|
+
|
4
|
+
module HustleAndFlow
|
5
|
+
module VersionControl
|
6
|
+
module Git
|
7
|
+
describe Branch do
|
8
|
+
it 'knows if it is the current branch' do
|
9
|
+
with_repo do |repo|
|
10
|
+
repo_branch = repo.source.branch('foobar')
|
11
|
+
branch = Branch.new(repo_branch)
|
12
|
+
|
13
|
+
expect(branch).not_to be_current
|
14
|
+
|
15
|
+
repo_branch.checkout
|
16
|
+
|
17
|
+
expect(branch).to be_current
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
it 'knows if it is a local branch' do
|
22
|
+
with_repo do |repo|
|
23
|
+
repo_branch = repo.source.branch('foobar')
|
24
|
+
branch = Branch.new(repo_branch)
|
25
|
+
|
26
|
+
repo_branch.checkout
|
27
|
+
|
28
|
+
expect(branch).to be_local
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
it 'knows if it is a remote branch' do
|
33
|
+
with_remote_repo do |local_repo, remote_repo|
|
34
|
+
repo_branch = local_repo.source.branches['master']
|
35
|
+
branch = Branch.new(repo_branch)
|
36
|
+
|
37
|
+
expect(branch).not_to be_remote
|
38
|
+
|
39
|
+
repo_branch = local_repo.source.branches['origin/master']
|
40
|
+
branch = Branch.new(repo_branch)
|
41
|
+
|
42
|
+
expect(branch).to be_remote
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
it 'knows it is tracking a remote branch' do
|
47
|
+
with_remote_repo do |local_repo, remote_repo|
|
48
|
+
local_repo_branch = local_repo.source.branches['master']
|
49
|
+
remote_repo_branch = local_repo.source.branches['origin/master']
|
50
|
+
local_branch = Branch.new(local_repo_branch)
|
51
|
+
remote_branch = Branch.new(remote_repo_branch)
|
52
|
+
|
53
|
+
local_branch.upstream = nil
|
54
|
+
|
55
|
+
expect(local_branch).not_to have_tracking_branch
|
56
|
+
|
57
|
+
local_branch.upstream = 'origin/master'
|
58
|
+
|
59
|
+
expect(local_branch).to have_tracking_branch
|
60
|
+
expect(remote_branch).not_to have_tracking_branch
|
61
|
+
end
|
62
|
+
end
|
63
|
+
|
64
|
+
it 'knows its name' do
|
65
|
+
with_repo do |repo|
|
66
|
+
repo_branch = repo.source.branches['master']
|
67
|
+
branch = Branch.new(repo_branch)
|
68
|
+
|
69
|
+
expect(branch.name).to eql 'master'
|
70
|
+
end
|
71
|
+
end
|
72
|
+
|
73
|
+
it 'can extract the version number from a branch name' do
|
74
|
+
with_repo do |repo|
|
75
|
+
repo_branch = repo.source.branch('feature/my-branch-v10')
|
76
|
+
branch = Branch.new(repo_branch)
|
77
|
+
|
78
|
+
repo_branch.checkout
|
79
|
+
|
80
|
+
expect(branch.version_number).to eql 10
|
81
|
+
end
|
82
|
+
end
|
83
|
+
|
84
|
+
it 'can extract the version number from a branch name' do
|
85
|
+
with_repo do |repo|
|
86
|
+
repo_branch = repo.source.branch('feature/my-branch')
|
87
|
+
branch = Branch.new(repo_branch)
|
88
|
+
|
89
|
+
repo_branch.checkout
|
90
|
+
|
91
|
+
expect(branch.version_number).to eql 0
|
92
|
+
end
|
93
|
+
end
|
94
|
+
|
95
|
+
it 'shows the author as the first committer' do
|
96
|
+
|
97
|
+
end
|
98
|
+
end
|
99
|
+
end
|
100
|
+
end
|
101
|
+
end
|
@@ -0,0 +1,57 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require 'hustle_and_flow/version_control/git/branches'
|
3
|
+
require 'hustle_and_flow/issue_trackers/github/issue'
|
4
|
+
|
5
|
+
module HustleAndFlow
|
6
|
+
module VersionControl
|
7
|
+
module Git
|
8
|
+
describe Branches do
|
9
|
+
it 'can filter a list of branches by an issue number' do
|
10
|
+
with_repo do |repo|
|
11
|
+
repo.source.branch('not-an-issue-branch').checkout
|
12
|
+
repo.source.branch('not-an-iss42ue-branch').checkout
|
13
|
+
repo.source.branch('not-an-42issue-branch').checkout
|
14
|
+
repo.source.branch('this-is-an-issue-branch-42').checkout
|
15
|
+
repo.source.branch('this-is-an-issue-branch-42-52').checkout
|
16
|
+
|
17
|
+
issue = IssueTrackers::Github::Issue.new(number: 42)
|
18
|
+
filtered_branches = Branches.new(repo: repo).
|
19
|
+
filter_by_issue(issue).
|
20
|
+
map(&:name)
|
21
|
+
|
22
|
+
expect(filtered_branches.count).to eql 2
|
23
|
+
expect(filtered_branches).to include 'this-is-an-issue-branch-42'
|
24
|
+
expect(filtered_branches).to include 'this-is-an-issue-branch-42-52'
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
it 'can filter a list of branches by an issue title' do
|
29
|
+
with_repo do |repo|
|
30
|
+
repo.source.branch('not-an-issue-branch').checkout
|
31
|
+
repo.source.branch('not-an-iss42ue-branch').checkout
|
32
|
+
repo.source.branch('not-an-42issue-branch').checkout
|
33
|
+
repo.source.branch('this-is-an-issue-branch-42').checkout
|
34
|
+
repo.source.branch('this-is-an-issue-branch-42-52').checkout
|
35
|
+
|
36
|
+
issue = IssueTrackers::Github::Issue.new(title: 'This is an Issue Branch')
|
37
|
+
filtered_branches = Branches.new(repo: repo).
|
38
|
+
filter_by_issue(issue).
|
39
|
+
map(&:name)
|
40
|
+
|
41
|
+
expect(filtered_branches.count).to eql 2
|
42
|
+
expect(filtered_branches).to include 'this-is-an-issue-branch-42'
|
43
|
+
expect(filtered_branches).to include 'this-is-an-issue-branch-42-52'
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
it 'can print branches as columns' do
|
48
|
+
with_repo do |repo|
|
49
|
+
expect(Formatters::BranchTableFormatter).to receive(:to_columns)
|
50
|
+
|
51
|
+
Branches.new(repo: repo).to_columns
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
@@ -0,0 +1,36 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require 'hustle_and_flow/version_control/git/repository'
|
3
|
+
|
4
|
+
module HustleAndFlow
|
5
|
+
module VersionControl
|
6
|
+
module Git
|
7
|
+
describe Repository do
|
8
|
+
# it 'can determine the base name of the repo' do
|
9
|
+
# with_repo do |repo|
|
10
|
+
# repo.source.add_remote('origin', 'https://github.com/foo-bar/bazqux')
|
11
|
+
#
|
12
|
+
# expect(repo.base_name).to eql 'foo-bar/bazqux'
|
13
|
+
# end
|
14
|
+
# end
|
15
|
+
#
|
16
|
+
# it 'can determine user of the repo' do
|
17
|
+
# with_repo do |repo|
|
18
|
+
# repo.source.config('github.user', 'yo yeah')
|
19
|
+
#
|
20
|
+
# expect(repo.user).to eql 'yo yeah'
|
21
|
+
# end
|
22
|
+
# end
|
23
|
+
#
|
24
|
+
# it 'can filter branches by issue' do
|
25
|
+
# with_repo do |repo|
|
26
|
+
# expect(Branches).to receive(:filter_by_issue).
|
27
|
+
# with(repo: repo,
|
28
|
+
# issue: :my_issue)
|
29
|
+
#
|
30
|
+
# repo.filter_branches_by_issue(:my_issue)
|
31
|
+
# end
|
32
|
+
# end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
@@ -0,0 +1,74 @@
|
|
1
|
+
require 'rspectacular'
|
2
|
+
require 'hustle_and_flow/utils/url_slug'
|
3
|
+
|
4
|
+
module HustleAndFlow
|
5
|
+
module Utils
|
6
|
+
describe UrlSlug do
|
7
|
+
before(:each) do
|
8
|
+
allow(SecureRandom).to receive(:random_number).
|
9
|
+
and_return 42
|
10
|
+
end
|
11
|
+
|
12
|
+
it 'can accept nil' do
|
13
|
+
slug = UrlSlug.new(nil).to_s
|
14
|
+
|
15
|
+
expect(slug).to eq ''
|
16
|
+
end
|
17
|
+
|
18
|
+
it 'removes all trailing dashes from the string' do
|
19
|
+
slug = UrlSlug.new('mystring--').to_s
|
20
|
+
|
21
|
+
expect(slug).to eql 'mystring'
|
22
|
+
end
|
23
|
+
|
24
|
+
it 'removes all dashes from the front of the string' do
|
25
|
+
slug = UrlSlug.new('--mystring').to_s
|
26
|
+
|
27
|
+
expect(slug).to eql 'mystring'
|
28
|
+
end
|
29
|
+
|
30
|
+
it """removes all consecutive dashes from the middle of the string,
|
31
|
+
replacing them with a single dash""" do
|
32
|
+
slug = UrlSlug.new('my--string').to_s
|
33
|
+
|
34
|
+
expect(slug).to eql 'my-string'
|
35
|
+
end
|
36
|
+
|
37
|
+
it 'replaces all spaces in the string with dashes' do
|
38
|
+
slug = UrlSlug.new('my string').to_s
|
39
|
+
|
40
|
+
expect(slug).to eql 'my-string'
|
41
|
+
end
|
42
|
+
|
43
|
+
it 'replaces multiple spaces with a single dashs' do
|
44
|
+
slug = UrlSlug.new('my string').to_s
|
45
|
+
|
46
|
+
expect(slug).to eql 'my-string'
|
47
|
+
end
|
48
|
+
|
49
|
+
it 'removes spaces from the end of the string' do
|
50
|
+
slug = UrlSlug.new('mystring ').to_s
|
51
|
+
|
52
|
+
expect(slug).to eql 'mystring'
|
53
|
+
end
|
54
|
+
|
55
|
+
it 'removes spaces from the beginning of the string' do
|
56
|
+
slug = UrlSlug.new(' mystring').to_s
|
57
|
+
|
58
|
+
expect(slug).to eql 'mystring'
|
59
|
+
end
|
60
|
+
|
61
|
+
it 'ignores any character other than letters, numbers, dashes and spaces' do
|
62
|
+
slug = UrlSlug.new('&my_1st-$t-r!ng()432').to_s
|
63
|
+
|
64
|
+
expect(slug).to eql 'my1st-t-rng432'
|
65
|
+
end
|
66
|
+
|
67
|
+
it 'converts the string to all lowercase' do
|
68
|
+
slug = UrlSlug.new('MyString').to_s
|
69
|
+
|
70
|
+
expect(slug).to eql 'mystring'
|
71
|
+
end
|
72
|
+
end
|
73
|
+
end
|
74
|
+
end
|
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,43 @@
|
|
1
|
+
require 'fileutils'
|
2
|
+
require 'hustle_and_flow/version_control/git/repository'
|
3
|
+
|
4
|
+
def with_repo
|
5
|
+
name = 'my-repo'
|
6
|
+
temporary_directory = "#{Dir.mktmpdir}/#{name}"
|
7
|
+
|
8
|
+
Dir.mkdir temporary_directory
|
9
|
+
Dir.chdir temporary_directory do
|
10
|
+
my_repo = Git.init(Dir.pwd)
|
11
|
+
FileUtils.touch 'hello.txt'
|
12
|
+
my_repo.add(all: true)
|
13
|
+
my_repo.commit_all('Initial commit')
|
14
|
+
|
15
|
+
repo = HustleAndFlow::VersionControl::Git::Repository.new(path: Dir.pwd)
|
16
|
+
|
17
|
+
yield repo if block_given?
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
def with_remote_repo
|
22
|
+
name = 'my-repo'
|
23
|
+
local_directory = "#{Dir.mktmpdir}"
|
24
|
+
remote_directory = "#{Dir.mktmpdir}/#{name}"
|
25
|
+
|
26
|
+
Dir.mkdir remote_directory
|
27
|
+
Dir.chdir remote_directory do
|
28
|
+
my_repo = Git.init(Dir.pwd)
|
29
|
+
FileUtils.touch 'hello.txt'
|
30
|
+
my_repo.add(all: true)
|
31
|
+
my_repo.commit_all('Initial commit')
|
32
|
+
end
|
33
|
+
|
34
|
+
remote_repo = HustleAndFlow::VersionControl::Git::Repository.new(path: remote_directory)
|
35
|
+
|
36
|
+
Dir.chdir local_directory do
|
37
|
+
Git.clone(remote_directory, name)
|
38
|
+
end
|
39
|
+
|
40
|
+
local_repo = HustleAndFlow::VersionControl::Git::Repository.new(path: "#{local_directory}/#{name}")
|
41
|
+
|
42
|
+
yield [local_repo, remote_repo] if block_given?
|
43
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: hustle_and_flow
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- thekompanee
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2014-
|
12
|
+
date: 2014-08-06 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: octokit
|
@@ -31,14 +31,42 @@ dependencies:
|
|
31
31
|
requirements:
|
32
32
|
- - "~>"
|
33
33
|
- !ruby/object:Gem::Version
|
34
|
-
version:
|
34
|
+
version: 0.19.0
|
35
35
|
type: :runtime
|
36
36
|
prerelease: false
|
37
37
|
version_requirements: !ruby/object:Gem::Requirement
|
38
38
|
requirements:
|
39
39
|
- - "~>"
|
40
40
|
- !ruby/object:Gem::Version
|
41
|
-
version:
|
41
|
+
version: 0.19.0
|
42
|
+
- !ruby/object:Gem::Dependency
|
43
|
+
name: netrc
|
44
|
+
requirement: !ruby/object:Gem::Requirement
|
45
|
+
requirements:
|
46
|
+
- - "~>"
|
47
|
+
- !ruby/object:Gem::Version
|
48
|
+
version: 0.7.7
|
49
|
+
type: :runtime
|
50
|
+
prerelease: false
|
51
|
+
version_requirements: !ruby/object:Gem::Requirement
|
52
|
+
requirements:
|
53
|
+
- - "~>"
|
54
|
+
- !ruby/object:Gem::Version
|
55
|
+
version: 0.7.7
|
56
|
+
- !ruby/object:Gem::Dependency
|
57
|
+
name: git
|
58
|
+
requirement: !ruby/object:Gem::Requirement
|
59
|
+
requirements:
|
60
|
+
- - "~>"
|
61
|
+
- !ruby/object:Gem::Version
|
62
|
+
version: 1.2.6
|
63
|
+
type: :runtime
|
64
|
+
prerelease: false
|
65
|
+
version_requirements: !ruby/object:Gem::Requirement
|
66
|
+
requirements:
|
67
|
+
- - "~>"
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: 1.2.6
|
42
70
|
- !ruby/object:Gem::Dependency
|
43
71
|
name: rspec
|
44
72
|
requirement: !ruby/object:Gem::Requirement
|
@@ -59,14 +87,56 @@ dependencies:
|
|
59
87
|
requirements:
|
60
88
|
- - "~>"
|
61
89
|
- !ruby/object:Gem::Version
|
62
|
-
version: 0.
|
90
|
+
version: 0.36.0
|
91
|
+
type: :development
|
92
|
+
prerelease: false
|
93
|
+
version_requirements: !ruby/object:Gem::Requirement
|
94
|
+
requirements:
|
95
|
+
- - "~>"
|
96
|
+
- !ruby/object:Gem::Version
|
97
|
+
version: 0.36.0
|
98
|
+
- !ruby/object:Gem::Dependency
|
99
|
+
name: vcr
|
100
|
+
requirement: !ruby/object:Gem::Requirement
|
101
|
+
requirements:
|
102
|
+
- - "~>"
|
103
|
+
- !ruby/object:Gem::Version
|
104
|
+
version: 2.8.0
|
105
|
+
type: :development
|
106
|
+
prerelease: false
|
107
|
+
version_requirements: !ruby/object:Gem::Requirement
|
108
|
+
requirements:
|
109
|
+
- - "~>"
|
110
|
+
- !ruby/object:Gem::Version
|
111
|
+
version: 2.8.0
|
112
|
+
- !ruby/object:Gem::Dependency
|
113
|
+
name: faraday
|
114
|
+
requirement: !ruby/object:Gem::Requirement
|
115
|
+
requirements:
|
116
|
+
- - "~>"
|
117
|
+
- !ruby/object:Gem::Version
|
118
|
+
version: 0.8.0
|
119
|
+
type: :development
|
120
|
+
prerelease: false
|
121
|
+
version_requirements: !ruby/object:Gem::Requirement
|
122
|
+
requirements:
|
123
|
+
- - "~>"
|
124
|
+
- !ruby/object:Gem::Version
|
125
|
+
version: 0.8.0
|
126
|
+
- !ruby/object:Gem::Dependency
|
127
|
+
name: timecop
|
128
|
+
requirement: !ruby/object:Gem::Requirement
|
129
|
+
requirements:
|
130
|
+
- - "~>"
|
131
|
+
- !ruby/object:Gem::Version
|
132
|
+
version: 0.6.0
|
63
133
|
type: :development
|
64
134
|
prerelease: false
|
65
135
|
version_requirements: !ruby/object:Gem::Requirement
|
66
136
|
requirements:
|
67
137
|
- - "~>"
|
68
138
|
- !ruby/object:Gem::Version
|
69
|
-
version: 0.
|
139
|
+
version: 0.6.0
|
70
140
|
- !ruby/object:Gem::Dependency
|
71
141
|
name: codeclimate-test-reporter
|
72
142
|
requirement: !ruby/object:Gem::Requirement
|
@@ -84,23 +154,50 @@ dependencies:
|
|
84
154
|
description: ''
|
85
155
|
email:
|
86
156
|
- support@thekompanee.com
|
87
|
-
executables:
|
157
|
+
executables:
|
158
|
+
- hustle
|
88
159
|
extensions: []
|
89
160
|
extra_rdoc_files:
|
90
161
|
- README.md
|
91
162
|
- LICENSE.txt
|
92
163
|
files:
|
93
|
-
- ".gitignore"
|
94
|
-
- ".ruby-version"
|
95
|
-
- ".travis.yml"
|
96
|
-
- Gemfile
|
97
|
-
- Gemfile.lock
|
98
164
|
- LICENSE.txt
|
99
165
|
- README.md
|
100
|
-
-
|
101
|
-
- hustle_and_flow.gemspec
|
166
|
+
- bin/hustle
|
102
167
|
- lib/hustle_and_flow.rb
|
168
|
+
- lib/hustle_and_flow/binary/runner.rb
|
169
|
+
- lib/hustle_and_flow/commands/start.rb
|
170
|
+
- lib/hustle_and_flow/errors/unknown_issue_action_error.rb
|
171
|
+
- lib/hustle_and_flow/formatters/branch_table_formatter.rb
|
172
|
+
- lib/hustle_and_flow/formatters/issue_detail_formatter.rb
|
173
|
+
- lib/hustle_and_flow/formatters/issue_table_formatter.rb
|
174
|
+
- lib/hustle_and_flow/io/shell.rb
|
175
|
+
- lib/hustle_and_flow/issue_tracker.rb
|
176
|
+
- lib/hustle_and_flow/issue_trackers/github.rb
|
177
|
+
- lib/hustle_and_flow/issue_trackers/github/issue.rb
|
178
|
+
- lib/hustle_and_flow/issue_trackers/github/issues.rb
|
179
|
+
- lib/hustle_and_flow/utils/string.rb
|
180
|
+
- lib/hustle_and_flow/utils/url_slug.rb
|
181
|
+
- lib/hustle_and_flow/vcs_repository.rb
|
103
182
|
- lib/hustle_and_flow/version.rb
|
183
|
+
- lib/hustle_and_flow/version_control/git/branch.rb
|
184
|
+
- lib/hustle_and_flow/version_control/git/branches.rb
|
185
|
+
- lib/hustle_and_flow/version_control/git/repository.rb
|
186
|
+
- spec/lib/hustle_and_flow/formatters/branch_table_formatter_spec.rb
|
187
|
+
- spec/lib/hustle_and_flow/formatters/issue_detail_formatter_spec.rb
|
188
|
+
- spec/lib/hustle_and_flow/formatters/issue_table_formatter_spec.rb
|
189
|
+
- spec/lib/hustle_and_flow/io/shell_spec.rb
|
190
|
+
- spec/lib/hustle_and_flow/issue_tracker_spec.rb
|
191
|
+
- spec/lib/hustle_and_flow/issue_trackers/github/issue_spec.rb
|
192
|
+
- spec/lib/hustle_and_flow/issue_trackers/github/issues_spec.rb
|
193
|
+
- spec/lib/hustle_and_flow/issue_trackers/github_spec.rb
|
194
|
+
- spec/lib/hustle_and_flow/vcs_repository_spec.rb
|
195
|
+
- spec/lib/hustle_and_flow/version_control/git/branch_spec.rb
|
196
|
+
- spec/lib/hustle_and_flow/version_control/git/branches_spec.rb
|
197
|
+
- spec/lib/hustle_and_flow/version_control/git/repository_spec.rb
|
198
|
+
- spec/lib/utils/url_slug_spec.rb
|
199
|
+
- spec/spec_helper.rb
|
200
|
+
- spec/support/git_repo.rb
|
104
201
|
homepage: https://github.com/thekompanee/hustle_and_flow
|
105
202
|
licenses:
|
106
203
|
- MIT
|
@@ -123,9 +220,24 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
123
220
|
version: '0'
|
124
221
|
requirements: []
|
125
222
|
rubyforge_project:
|
126
|
-
rubygems_version: 2.
|
223
|
+
rubygems_version: 2.3.0
|
127
224
|
signing_key:
|
128
225
|
specification_version: 4
|
129
226
|
summary: Development Workflow Commands
|
130
|
-
test_files:
|
227
|
+
test_files:
|
228
|
+
- spec/lib/hustle_and_flow/formatters/branch_table_formatter_spec.rb
|
229
|
+
- spec/lib/hustle_and_flow/formatters/issue_detail_formatter_spec.rb
|
230
|
+
- spec/lib/hustle_and_flow/formatters/issue_table_formatter_spec.rb
|
231
|
+
- spec/lib/hustle_and_flow/io/shell_spec.rb
|
232
|
+
- spec/lib/hustle_and_flow/issue_tracker_spec.rb
|
233
|
+
- spec/lib/hustle_and_flow/issue_trackers/github/issue_spec.rb
|
234
|
+
- spec/lib/hustle_and_flow/issue_trackers/github/issues_spec.rb
|
235
|
+
- spec/lib/hustle_and_flow/issue_trackers/github_spec.rb
|
236
|
+
- spec/lib/hustle_and_flow/vcs_repository_spec.rb
|
237
|
+
- spec/lib/hustle_and_flow/version_control/git/branch_spec.rb
|
238
|
+
- spec/lib/hustle_and_flow/version_control/git/branches_spec.rb
|
239
|
+
- spec/lib/hustle_and_flow/version_control/git/repository_spec.rb
|
240
|
+
- spec/lib/utils/url_slug_spec.rb
|
241
|
+
- spec/spec_helper.rb
|
242
|
+
- spec/support/git_repo.rb
|
131
243
|
has_rdoc:
|
data/.gitignore
DELETED
data/.ruby-version
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
2.1.1
|
data/.travis.yml
DELETED
@@ -1,13 +0,0 @@
|
|
1
|
-
language: ruby
|
2
|
-
rvm:
|
3
|
-
- 1.9.2
|
4
|
-
- 1.9.3
|
5
|
-
- 2.0.0
|
6
|
-
- 2.1.0
|
7
|
-
- jruby-18mode # JRuby in 1.8 mode
|
8
|
-
- jruby-19mode # JRuby in 1.9 mode
|
9
|
-
script: bundle exec rspec spec
|
10
|
-
notifications:
|
11
|
-
slack:
|
12
|
-
rooms:
|
13
|
-
- thekompanee:p46x27zMG89XW66DgGuutoaW#open-source
|
data/Gemfile
DELETED
data/Gemfile.lock
DELETED
@@ -1,56 +0,0 @@
|
|
1
|
-
PATH
|
2
|
-
remote: .
|
3
|
-
specs:
|
4
|
-
hustle_and_flow (0.0.1)
|
5
|
-
octokit (~> 3.1)
|
6
|
-
|
7
|
-
GEM
|
8
|
-
remote: https://rubygems.org/
|
9
|
-
specs:
|
10
|
-
addressable (2.3.6)
|
11
|
-
codeclimate-test-reporter (0.3.0)
|
12
|
-
simplecov (>= 0.7.1, < 1.0.0)
|
13
|
-
diff-lcs (1.2.5)
|
14
|
-
docile (1.1.3)
|
15
|
-
faraday (0.9.0)
|
16
|
-
multipart-post (>= 1.2, < 3)
|
17
|
-
fuubar (2.0.0.beta1)
|
18
|
-
rspec (~> 3.0.beta)
|
19
|
-
ruby-progressbar (~> 1.3)
|
20
|
-
multi_json (1.10.0)
|
21
|
-
multipart-post (2.0.0)
|
22
|
-
octokit (3.1.0)
|
23
|
-
sawyer (~> 0.5.3)
|
24
|
-
rspec (3.0.0.beta2)
|
25
|
-
rspec-core (= 3.0.0.beta2)
|
26
|
-
rspec-expectations (= 3.0.0.beta2)
|
27
|
-
rspec-mocks (= 3.0.0.beta2)
|
28
|
-
rspec-core (3.0.0.beta2)
|
29
|
-
rspec-support (= 3.0.0.beta2)
|
30
|
-
rspec-expectations (3.0.0.beta2)
|
31
|
-
diff-lcs (>= 1.2.0, < 2.0)
|
32
|
-
rspec-support (= 3.0.0.beta2)
|
33
|
-
rspec-mocks (3.0.0.beta2)
|
34
|
-
rspec-support (= 3.0.0.beta2)
|
35
|
-
rspec-support (3.0.0.beta2)
|
36
|
-
rspectacular (0.33.0)
|
37
|
-
fuubar (~> 2.0.beta)
|
38
|
-
rspec (~> 3.0.beta)
|
39
|
-
ruby-progressbar (1.4.2)
|
40
|
-
sawyer (0.5.4)
|
41
|
-
addressable (~> 2.3.5)
|
42
|
-
faraday (~> 0.8, < 0.10)
|
43
|
-
simplecov (0.8.2)
|
44
|
-
docile (~> 1.1.0)
|
45
|
-
multi_json
|
46
|
-
simplecov-html (~> 0.8.0)
|
47
|
-
simplecov-html (0.8.0)
|
48
|
-
|
49
|
-
PLATFORMS
|
50
|
-
ruby
|
51
|
-
|
52
|
-
DEPENDENCIES
|
53
|
-
codeclimate-test-reporter (~> 0.3.0)
|
54
|
-
hustle_and_flow!
|
55
|
-
rspec (~> 3.0.0beta)
|
56
|
-
rspectacular (~> 0.33.0)
|
data/Rakefile
DELETED