speedflow-plugin-git 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 +7 -0
- data/LICENSE +21 -0
- data/README.md +39 -0
- data/bin/console +7 -0
- data/bin/setup +8 -0
- data/lib/speedflow-plugin-git.rb +1 -0
- data/lib/speedflow/plugin/git.rb +5 -0
- data/lib/speedflow/plugin/git/client.rb +82 -0
- data/lib/speedflow/plugin/git/plugin.rb +73 -0
- data/lib/speedflow/plugin/git/prompt.rb +73 -0
- data/lib/speedflow/plugin/git/version.rb +7 -0
- data/spec/spec_helper.rb +13 -0
- data/spec/speedflow/plugin/git/client_spec.rb +37 -0
- data/spec/speedflow/plugin/git/plugin_spec.rb +90 -0
- data/spec/speedflow/plugin/git/prompt_spec.rb +68 -0
- data/spec/speedflow/plugin/git_spec.rb +7 -0
- metadata +213 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: bdca85987fc6af41e69c8c68ffa4b5fd74e042dc
|
4
|
+
data.tar.gz: 50aafde95295f779203097cd30aed9d757141ba5
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 757d1bf31386115187ef2538ae7e6edd3393cdedbbf2abff619a45941f80471e0e5a673fe58356b09862e25363968c9d71b4d550150f9ec571cd3b58de353370
|
7
|
+
data.tar.gz: a2335f9f9051b85af7985d1bda34cb0a7d111158f01e0caee9fbb643987c45cc99adacb8d86301a20dfe456872a0f7666ea893724c83c5c4e1d23aecaf9ea5f0
|
data/LICENSE
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
The MIT License (MIT)
|
2
|
+
|
3
|
+
Copyright (c) 2016 Speedflow
|
4
|
+
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
7
|
+
in the Software without restriction, including without limitation the rights
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
10
|
+
furnished to do so, subject to the following conditions:
|
11
|
+
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
13
|
+
copies or substantial portions of the Software.
|
14
|
+
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
21
|
+
SOFTWARE.
|
data/README.md
ADDED
@@ -0,0 +1,39 @@
|
|
1
|
+
# Speedflow Plugin Git
|
2
|
+
|
3
|
+
[](https://travis-ci.org/speedflow/speedflow-plugin-git)
|
4
|
+
[](https://badge.fury.io/rb/speedflow-plugin-git)
|
5
|
+
[](https://gemnasium.com/speedflow/speedflow-plugin-git)
|
6
|
+
[](https://codeclimate.com/github/speedflow/speedflow-plugin-git)
|
7
|
+
[](https://codeclimate.com/github/speedflow/speedflow-plugin-git/coverage)
|
8
|
+
[](http://inch-ci.org/github/speedflow/speedflow-plugin-git)
|
9
|
+
|
10
|
+
:package: A Speedflow plugin to work with [Git](https://git-scm.com/).
|
11
|
+
|
12
|
+
## How to install?
|
13
|
+
|
14
|
+
`gem install speedflow-plugin-git`
|
15
|
+
|
16
|
+
## How to configure?
|
17
|
+
|
18
|
+
`.speedflow.yml` :
|
19
|
+
```yml
|
20
|
+
---
|
21
|
+
plugins:
|
22
|
+
- git
|
23
|
+
```
|
24
|
+
|
25
|
+
#### Create a branch
|
26
|
+
|
27
|
+
`.speedflow.yml` :
|
28
|
+
```yml
|
29
|
+
#...
|
30
|
+
|
31
|
+
flow:
|
32
|
+
test:
|
33
|
+
- plugin: git
|
34
|
+
action: create_branch
|
35
|
+
arguments:
|
36
|
+
branch: ~
|
37
|
+
branch_from:
|
38
|
+
default: origin/master
|
39
|
+
```
|
data/bin/console
ADDED
data/bin/setup
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
require 'speedflow/plugin/git'
|
@@ -0,0 +1,82 @@
|
|
1
|
+
require 'git'
|
2
|
+
|
3
|
+
module Speedflow
|
4
|
+
module Plugin
|
5
|
+
module Git
|
6
|
+
# Git client
|
7
|
+
class Client
|
8
|
+
# @return [Prompt] Prompt.
|
9
|
+
attr_writer :prompt
|
10
|
+
|
11
|
+
# @return [Git::Client] Git client.
|
12
|
+
attr_writer :git_client
|
13
|
+
|
14
|
+
# Initialize.
|
15
|
+
#
|
16
|
+
# config - Speedflow::Plugin::Git::Configuration instance.
|
17
|
+
# prompt - Speedflow::Plugin::Git::Prompt instance.
|
18
|
+
#
|
19
|
+
# Examples
|
20
|
+
#
|
21
|
+
# Client.new({}, Speedflow::Plugin::Git::Prompt.new)
|
22
|
+
# # => <Speedflow::Plugin::Git::Client>
|
23
|
+
#
|
24
|
+
# Returns nothing.
|
25
|
+
def initialize(config, prompt)
|
26
|
+
@config = config
|
27
|
+
@prompt = prompt
|
28
|
+
end
|
29
|
+
|
30
|
+
# Public: Create branch.
|
31
|
+
#
|
32
|
+
# branch - Branch.
|
33
|
+
# branch_from - Branch from.
|
34
|
+
#
|
35
|
+
# Returns Git::Branch.
|
36
|
+
def create_branch(branch, branch_from)
|
37
|
+
safe do
|
38
|
+
git = git_client.open('.')
|
39
|
+
git.branch(branch_from).checkout unless branch_from.empty?
|
40
|
+
git.branch(branch).checkout
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
# Public: Branches.
|
45
|
+
#
|
46
|
+
# branch_type - String of type (:local or :remote)
|
47
|
+
#
|
48
|
+
# Returns Array of local branches.
|
49
|
+
def branches(branch_type = :local)
|
50
|
+
safe do
|
51
|
+
git = git_client.open('.')
|
52
|
+
git.branches.send(branch_type)
|
53
|
+
end
|
54
|
+
end
|
55
|
+
|
56
|
+
# Public: Safe process Git action.
|
57
|
+
#
|
58
|
+
# Returns nothing.
|
59
|
+
def safe
|
60
|
+
yield
|
61
|
+
rescue StandardError => exception
|
62
|
+
prompt.errors exception
|
63
|
+
abort
|
64
|
+
end
|
65
|
+
|
66
|
+
# Public: Git client.
|
67
|
+
#
|
68
|
+
# Returns ::Git instance.
|
69
|
+
def git_client
|
70
|
+
@git_client ||= ::Git
|
71
|
+
end
|
72
|
+
|
73
|
+
# Public: Prompt.
|
74
|
+
#
|
75
|
+
# Returns ::Speedflow::Plugin::Git::Prompt instance.
|
76
|
+
def prompt
|
77
|
+
@prompt ||= ::Speedflow::Plugin::Git::Prompt.new
|
78
|
+
end
|
79
|
+
end
|
80
|
+
end
|
81
|
+
end
|
82
|
+
end
|
@@ -0,0 +1,73 @@
|
|
1
|
+
module Speedflow
|
2
|
+
module Plugin
|
3
|
+
module Git
|
4
|
+
# Plugin core
|
5
|
+
class Plugin < Speedflow::Plugin::Abstract
|
6
|
+
# @return [Prompt] Plugin prompt.
|
7
|
+
attr_writer :prompt
|
8
|
+
|
9
|
+
# @return [Client] Plugin client.
|
10
|
+
attr_writer :client
|
11
|
+
|
12
|
+
# Public: Constructor
|
13
|
+
#
|
14
|
+
# config - Speedflow::Plugin::Configuration object.
|
15
|
+
# prompt - Speedflow::Plugin::Prompt object.
|
16
|
+
#
|
17
|
+
# Examples
|
18
|
+
#
|
19
|
+
# Manager.new(
|
20
|
+
# <Speedflow::Plugin::Configuration.new({})>,
|
21
|
+
# <Speedflow::Plugin::Prompt.new>)
|
22
|
+
# # => <Speedflow::Plugin::Abstract>
|
23
|
+
#
|
24
|
+
# Returns nothing.
|
25
|
+
def initialize(config, _)
|
26
|
+
super(config, Prompt.new)
|
27
|
+
end
|
28
|
+
|
29
|
+
# Public: Create branch.
|
30
|
+
#
|
31
|
+
# Returns Hash of branch.
|
32
|
+
def action_create_branch
|
33
|
+
branch = config.by_input('branch')
|
34
|
+
branch = prompt.ask_branch if branch.empty?
|
35
|
+
|
36
|
+
branch_from = config.by_input('branch_from')
|
37
|
+
branch_from = action_search_branch['branch'] if branch_from.empty?
|
38
|
+
|
39
|
+
client.create_branch(branch, branch_from)
|
40
|
+
|
41
|
+
prompt.ok '[GIT] Branch successful created: ' \
|
42
|
+
"'#{branch}' from '#{branch_from}'."
|
43
|
+
|
44
|
+
{ 'branch' => branch, 'branch_from' => branch_from }
|
45
|
+
end
|
46
|
+
|
47
|
+
# Public: Search branch.
|
48
|
+
#
|
49
|
+
# Returns Hash of branch.
|
50
|
+
def action_search_branch
|
51
|
+
branch = prompt.branch(client.branches(prompt.branch_type))
|
52
|
+
action_search_branch if branch == :retry
|
53
|
+
|
54
|
+
{ 'branch' => branch }
|
55
|
+
end
|
56
|
+
|
57
|
+
# Public: Plugin client.
|
58
|
+
#
|
59
|
+
# Returns Client instance.
|
60
|
+
def client
|
61
|
+
@client ||= Client.new(@config, @prompt)
|
62
|
+
end
|
63
|
+
|
64
|
+
# Public: Plugin prompt.
|
65
|
+
#
|
66
|
+
# Returns Prompt instance.
|
67
|
+
def prompt
|
68
|
+
@prompt ||= Prompt.new
|
69
|
+
end
|
70
|
+
end
|
71
|
+
end
|
72
|
+
end
|
73
|
+
end
|
@@ -0,0 +1,73 @@
|
|
1
|
+
module Speedflow
|
2
|
+
module Plugin
|
3
|
+
module Git
|
4
|
+
# Plugin prompt
|
5
|
+
class Prompt
|
6
|
+
# @return [<Speedflow::Plugin::Prompt>] Plugin prompt.
|
7
|
+
attr_writer :prompt
|
8
|
+
|
9
|
+
# Public: Prompt ask branch.
|
10
|
+
#
|
11
|
+
# Returns String of title.
|
12
|
+
def ask_branch
|
13
|
+
ask('What is the name of branch?', required: true)
|
14
|
+
end
|
15
|
+
|
16
|
+
# Public: Prompt branch.
|
17
|
+
#
|
18
|
+
# branches - List of branches.
|
19
|
+
#
|
20
|
+
# Returns branch name.
|
21
|
+
def branch(branches)
|
22
|
+
prompt.select('Choose the branch:', required: true) do |menu|
|
23
|
+
menu.choice 'Re-select branch type', :retry
|
24
|
+
branches.each do |branch|
|
25
|
+
next if branch.name.include? '->'
|
26
|
+
branch_full = branch.name
|
27
|
+
branch_full = "#{branch.remote}/#{branch.name}" if branch.remote
|
28
|
+
menu.choice branch.name, branch_full
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
# Public: Prompt branch type.
|
34
|
+
#
|
35
|
+
# Returns String of type (:local or :remote).
|
36
|
+
def branch_type
|
37
|
+
prompt.select('Choose the branch type:', required: true) do |menu|
|
38
|
+
menu.choice 'Local branches', :local
|
39
|
+
menu.choice 'Remote branches', :remote
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
43
|
+
# Public: Errors from Git exception.
|
44
|
+
#
|
45
|
+
# exception - Git exception.
|
46
|
+
#
|
47
|
+
# Returns nothing.
|
48
|
+
def errors(exception)
|
49
|
+
prompt.error 'Git errors'
|
50
|
+
prompt.warn exception.message
|
51
|
+
end
|
52
|
+
|
53
|
+
# Delegate.
|
54
|
+
#
|
55
|
+
# method - Method.
|
56
|
+
# args - Arguments.
|
57
|
+
# block - Block.
|
58
|
+
#
|
59
|
+
# Returns wathever.
|
60
|
+
def method_missing(method, *args, &block)
|
61
|
+
prompt.send(method, *args, &block)
|
62
|
+
end
|
63
|
+
|
64
|
+
# Public: TTY prompt.
|
65
|
+
#
|
66
|
+
# Returns ::Speedflow::Plugin::Prompt instance.
|
67
|
+
def prompt
|
68
|
+
@prompt ||= ::Speedflow::Plugin::Prompt.new
|
69
|
+
end
|
70
|
+
end
|
71
|
+
end
|
72
|
+
end
|
73
|
+
end
|
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,13 @@
|
|
1
|
+
$LOAD_PATH.unshift File.expand_path('../../lib', __FILE__)
|
2
|
+
|
3
|
+
require 'simplecov'
|
4
|
+
require 'codeclimate-test-reporter'
|
5
|
+
|
6
|
+
CodeClimate::TestReporter.start if ENV['CODECLIMATE_REPO_TOKEN']
|
7
|
+
|
8
|
+
SimpleCov.start do
|
9
|
+
formatter SimpleCov::Formatter::MultiFormatter.new(
|
10
|
+
[SimpleCov::Formatter::HTMLFormatter, CodeClimate::TestReporter::Formatter])
|
11
|
+
end
|
12
|
+
|
13
|
+
require 'speedflow/plugin/git'
|
@@ -0,0 +1,37 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Speedflow::Plugin::Git::Client do
|
4
|
+
let(:client) do
|
5
|
+
client = ::Speedflow::Plugin::Git::Client.new(double, double)
|
6
|
+
client.git_client = double
|
7
|
+
client
|
8
|
+
end
|
9
|
+
|
10
|
+
it '.create_branch' do
|
11
|
+
allow(client.git_client)
|
12
|
+
.to receive_message_chain(:open, :branch, :checkout)
|
13
|
+
|
14
|
+
client.create_branch('test', 'origin/master')
|
15
|
+
end
|
16
|
+
|
17
|
+
it '.branches' do
|
18
|
+
allow(client.git_client)
|
19
|
+
.to receive_message_chain(:open, :branches, :send)
|
20
|
+
|
21
|
+
client.branches
|
22
|
+
end
|
23
|
+
|
24
|
+
it '.safe' do
|
25
|
+
allow(client.prompt)
|
26
|
+
.to receive(:error)
|
27
|
+
.with('Git errors')
|
28
|
+
allow(client.prompt)
|
29
|
+
.to receive(:errors)
|
30
|
+
e = expect do
|
31
|
+
client.safe do
|
32
|
+
raise StandardError.new('Error'), '...'
|
33
|
+
end
|
34
|
+
end
|
35
|
+
e.to raise_error(SystemExit)
|
36
|
+
end
|
37
|
+
end
|
@@ -0,0 +1,90 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Speedflow::Plugin::Git::Plugin do
|
4
|
+
let(:plugin) do
|
5
|
+
plugin = ::Speedflow::Plugin::Git::Plugin.new(double, double)
|
6
|
+
plugin.client = double
|
7
|
+
plugin
|
8
|
+
end
|
9
|
+
|
10
|
+
it '.action_create_branch' do
|
11
|
+
allow(plugin.config)
|
12
|
+
.to receive(:by_input)
|
13
|
+
.with('branch')
|
14
|
+
.and_return('')
|
15
|
+
|
16
|
+
allow(plugin.prompt)
|
17
|
+
.to receive(:ask_branch)
|
18
|
+
.and_return('master')
|
19
|
+
|
20
|
+
allow(plugin.prompt)
|
21
|
+
.to receive(:ask)
|
22
|
+
.with('What is the name of branch?', required: true)
|
23
|
+
.and_return('master')
|
24
|
+
|
25
|
+
allow(plugin.prompt)
|
26
|
+
.to receive(:branch_type)
|
27
|
+
.and_return(:remote)
|
28
|
+
|
29
|
+
allow(plugin.client)
|
30
|
+
.to receive(:branches)
|
31
|
+
.with(:remote)
|
32
|
+
.and_return(%w(master bar baz))
|
33
|
+
|
34
|
+
allow(plugin.prompt)
|
35
|
+
.to receive(:branch)
|
36
|
+
.with(%w(master bar baz))
|
37
|
+
.and_return('master')
|
38
|
+
|
39
|
+
allow(plugin.config)
|
40
|
+
.to receive(:by_input)
|
41
|
+
.with('branch_from')
|
42
|
+
.and_return('origin/master')
|
43
|
+
|
44
|
+
allow(plugin.prompt)
|
45
|
+
.to receive(:ok)
|
46
|
+
.with("[GIT] Branch successful created: 'master' from 'origin/master'.")
|
47
|
+
|
48
|
+
allow(plugin.client)
|
49
|
+
.to receive(:create_branch)
|
50
|
+
.with('master', 'origin/master')
|
51
|
+
|
52
|
+
expected_hash = { 'branch' => 'master', 'branch_from' => 'origin/master' }
|
53
|
+
expect(plugin.action_create_branch)
|
54
|
+
.to eq expected_hash
|
55
|
+
end
|
56
|
+
|
57
|
+
it '.action_search_branch' do
|
58
|
+
allow(plugin.prompt)
|
59
|
+
.to receive(:branch_type)
|
60
|
+
.and_return(:local)
|
61
|
+
|
62
|
+
allow(plugin.client)
|
63
|
+
.to receive(:branches)
|
64
|
+
.with(:local)
|
65
|
+
.and_return(%w(master foo bar :retry))
|
66
|
+
|
67
|
+
allow(plugin.prompt)
|
68
|
+
.to receive(:branch)
|
69
|
+
.with(%w(foo bar :retry))
|
70
|
+
.and_return(:retry)
|
71
|
+
|
72
|
+
allow(plugin.prompt)
|
73
|
+
.to receive(:branch_type)
|
74
|
+
.and_return(:local)
|
75
|
+
|
76
|
+
allow(plugin.client)
|
77
|
+
.to receive(:branches)
|
78
|
+
.with(:local)
|
79
|
+
.and_return(%w(master foo bar :retry))
|
80
|
+
|
81
|
+
allow(plugin.prompt)
|
82
|
+
.to receive(:branch)
|
83
|
+
.with(%w(master foo bar :retry))
|
84
|
+
.and_return('master')
|
85
|
+
|
86
|
+
expected_hash = { 'branch' => 'master' }
|
87
|
+
expect(plugin.action_search_branch)
|
88
|
+
.to eq expected_hash
|
89
|
+
end
|
90
|
+
end
|
@@ -0,0 +1,68 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Speedflow::Plugin::Git::Prompt do
|
4
|
+
let(:prompt) do
|
5
|
+
prompt = ::Speedflow::Plugin::Git::Prompt.new
|
6
|
+
prompt.prompt = double
|
7
|
+
prompt
|
8
|
+
end
|
9
|
+
let(:exception) do
|
10
|
+
double(message: "Error\n")
|
11
|
+
end
|
12
|
+
|
13
|
+
it '.ok' do
|
14
|
+
allow(prompt.prompt)
|
15
|
+
.to receive(:ok)
|
16
|
+
.with('Test')
|
17
|
+
|
18
|
+
expect(prompt.ok('Test'))
|
19
|
+
end
|
20
|
+
|
21
|
+
it '.ask_branch' do
|
22
|
+
allow(prompt.prompt)
|
23
|
+
.to receive(:ask)
|
24
|
+
.with('What is the name of branch?', required: true)
|
25
|
+
.and_return('cool')
|
26
|
+
|
27
|
+
expect(prompt.ask_branch)
|
28
|
+
.to eq 'cool'
|
29
|
+
end
|
30
|
+
|
31
|
+
it '.branch' do
|
32
|
+
allow(prompt.prompt)
|
33
|
+
.to receive(:select)
|
34
|
+
.with('Choose the branch:', required: true)
|
35
|
+
.and_yield(double(choice: nil))
|
36
|
+
.and_return 'master'
|
37
|
+
|
38
|
+
branches = [
|
39
|
+
double(name: 'master', remote: ''),
|
40
|
+
double(name: 'HEAD -> origin/master', remote: 'origin')
|
41
|
+
]
|
42
|
+
|
43
|
+
expect(prompt.branch(branches))
|
44
|
+
.to eq 'master'
|
45
|
+
|
46
|
+
# TODO: Complete specs with arrowed branches
|
47
|
+
end
|
48
|
+
|
49
|
+
it '.branch_type' do
|
50
|
+
allow(prompt.prompt)
|
51
|
+
.to receive(:select)
|
52
|
+
.with('Choose the branch type:', required: true)
|
53
|
+
.and_yield(double(choice: nil))
|
54
|
+
.and_return :remote
|
55
|
+
|
56
|
+
expect(prompt.branch_type)
|
57
|
+
.to eq :remote
|
58
|
+
end
|
59
|
+
|
60
|
+
it '.errors' do
|
61
|
+
allow(prompt.prompt)
|
62
|
+
.to receive(:error).with('Git errors')
|
63
|
+
allow(prompt.prompt)
|
64
|
+
.to receive(:warn).with("Error\n")
|
65
|
+
|
66
|
+
expect(prompt.errors(exception))
|
67
|
+
end
|
68
|
+
end
|
metadata
ADDED
@@ -0,0 +1,213 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: speedflow-plugin-git
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.2.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Julien Breux
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2016-04-08 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: speedflow
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0.3'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0.3'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: git
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '1.3'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '1.3'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: bundler
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '1.11'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '1.11'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: rake
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '11.1'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '11.1'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: rspec
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - "~>"
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '3.4'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - "~>"
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '3.4'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: fuubar
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - "~>"
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '2.0'
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - "~>"
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '2.0'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: guard-rspec
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - "~>"
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '4.6'
|
104
|
+
type: :development
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - "~>"
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '4.6'
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: guard-rubocop
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - "~>"
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '1.2'
|
118
|
+
type: :development
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - "~>"
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: '1.2'
|
125
|
+
- !ruby/object:Gem::Dependency
|
126
|
+
name: pry
|
127
|
+
requirement: !ruby/object:Gem::Requirement
|
128
|
+
requirements:
|
129
|
+
- - "~>"
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: '0.10'
|
132
|
+
type: :development
|
133
|
+
prerelease: false
|
134
|
+
version_requirements: !ruby/object:Gem::Requirement
|
135
|
+
requirements:
|
136
|
+
- - "~>"
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
version: '0.10'
|
139
|
+
- !ruby/object:Gem::Dependency
|
140
|
+
name: codeclimate-test-reporter
|
141
|
+
requirement: !ruby/object:Gem::Requirement
|
142
|
+
requirements:
|
143
|
+
- - "~>"
|
144
|
+
- !ruby/object:Gem::Version
|
145
|
+
version: '0.5'
|
146
|
+
type: :development
|
147
|
+
prerelease: false
|
148
|
+
version_requirements: !ruby/object:Gem::Requirement
|
149
|
+
requirements:
|
150
|
+
- - "~>"
|
151
|
+
- !ruby/object:Gem::Version
|
152
|
+
version: '0.5'
|
153
|
+
- !ruby/object:Gem::Dependency
|
154
|
+
name: simplecov
|
155
|
+
requirement: !ruby/object:Gem::Requirement
|
156
|
+
requirements:
|
157
|
+
- - "~>"
|
158
|
+
- !ruby/object:Gem::Version
|
159
|
+
version: '0.11'
|
160
|
+
type: :development
|
161
|
+
prerelease: false
|
162
|
+
version_requirements: !ruby/object:Gem::Requirement
|
163
|
+
requirements:
|
164
|
+
- - "~>"
|
165
|
+
- !ruby/object:Gem::Version
|
166
|
+
version: '0.11'
|
167
|
+
description: A Speedflow plugin for Git.
|
168
|
+
email:
|
169
|
+
- julien.breux@gmail.com
|
170
|
+
executables: []
|
171
|
+
extensions: []
|
172
|
+
extra_rdoc_files: []
|
173
|
+
files:
|
174
|
+
- LICENSE
|
175
|
+
- README.md
|
176
|
+
- bin/console
|
177
|
+
- bin/setup
|
178
|
+
- lib/speedflow-plugin-git.rb
|
179
|
+
- lib/speedflow/plugin/git.rb
|
180
|
+
- lib/speedflow/plugin/git/client.rb
|
181
|
+
- lib/speedflow/plugin/git/plugin.rb
|
182
|
+
- lib/speedflow/plugin/git/prompt.rb
|
183
|
+
- lib/speedflow/plugin/git/version.rb
|
184
|
+
- spec/spec_helper.rb
|
185
|
+
- spec/speedflow/plugin/git/client_spec.rb
|
186
|
+
- spec/speedflow/plugin/git/plugin_spec.rb
|
187
|
+
- spec/speedflow/plugin/git/prompt_spec.rb
|
188
|
+
- spec/speedflow/plugin/git_spec.rb
|
189
|
+
homepage: https://github.com/speedflow/speedflow-plugin-git
|
190
|
+
licenses:
|
191
|
+
- MIT
|
192
|
+
metadata: {}
|
193
|
+
post_install_message:
|
194
|
+
rdoc_options: []
|
195
|
+
require_paths:
|
196
|
+
- lib
|
197
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
198
|
+
requirements:
|
199
|
+
- - ">="
|
200
|
+
- !ruby/object:Gem::Version
|
201
|
+
version: '2.3'
|
202
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
203
|
+
requirements:
|
204
|
+
- - ">="
|
205
|
+
- !ruby/object:Gem::Version
|
206
|
+
version: '0'
|
207
|
+
requirements: []
|
208
|
+
rubyforge_project:
|
209
|
+
rubygems_version: 2.5.2
|
210
|
+
signing_key:
|
211
|
+
specification_version: 4
|
212
|
+
summary: A Speedflow plugin for Git.
|
213
|
+
test_files: []
|