git-dd 0.2.2 → 0.2.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/lib/const.rb +4 -0
  3. data/lib/git-dd.rb +24 -7
  4. metadata +31 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: f01e84c0cc0fb17ab8335ecd63b9f27a380c2daf
4
- data.tar.gz: 0fda2df25f06cbcb8dc43ef2bb4d7c875fab22d2
3
+ metadata.gz: 97dc4a649420571ccf91bc81296d361f7d5cf391
4
+ data.tar.gz: aa5ab72e486ce86dc61918d3eb3971c0c910527c
5
5
  SHA512:
6
- metadata.gz: 8488bf1e911fe6e4526c4cd5f22ef41fdfeaf962c911711b8a7fde99901924e1019e34c7b4af80c71e857c1d50e9573d7428803deb8bb8ca79aee5a66c03068b
7
- data.tar.gz: 8775c1cd9dab58b06d785a06c32fb019767a9ca771ccb64757fe82eaf1b5990d8f61f0b8ad0237104406d53a4df2c594e6dd9cfb1873a06b10478df2e6bd6955
6
+ metadata.gz: 9dd51a8d265e0649b8d01f5ce17ce0b88a69436dbfda4bb984a59266eb07f0c3e434d8ae07c9128d4e626aa22d581d61ae48e79eb8ccbcbada90f6418d8df69f
7
+ data.tar.gz: b65485880763ff0e485e964a93c47ff307c6cddf6c7d36e9e8e12b789fb2c5c7b3bd8b396e7541ab4d0911e97950a795e0faddc66da23f130912e0b77ca9bfda
data/lib/const.rb ADDED
@@ -0,0 +1,4 @@
1
+ # encoding: utf-8
2
+
3
+ NO_BRANCH_SELECTED = "No branch selected"
4
+ ONLY_ONE_BRANCH = "You only have one branch"
data/lib/git-dd.rb CHANGED
@@ -2,16 +2,24 @@
2
2
 
3
3
  require 'tty-prompt'
4
4
  require 'rainbow/ext/string'
5
+ require 'const.rb'
5
6
 
6
7
  class GitDD
7
- def run
8
+ attr_accessor :prompt
9
+
10
+ def run(test_prompt = nil)
8
11
  branch_names = `git branch`
9
12
  return if $?.exitstatus != 0
10
13
 
11
14
  branch_names = branch_names.split("\n")
12
15
 
13
16
  branches_with_more_info = `git branch -vv`
14
- branches_with_more_info = branches_with_more_info.split("\n")
17
+ begin
18
+ branches_with_more_info = branches_with_more_info.split("\n")
19
+ rescue
20
+ branches_with_more_info = `git branch`
21
+ branches_with_more_info = branches_with_more_info.split("\n")
22
+ end
15
23
 
16
24
  return if branch_names.size != branches_with_more_info.size
17
25
 
@@ -19,15 +27,18 @@ class GitDD
19
27
  branch_names.each_with_index { |b, i| branches[b] = branches_with_more_info[i] }
20
28
 
21
29
  if branches.size == 1
22
- puts "You only have one branch."
23
- return
30
+ return print(ONLY_ONE_BRANCH)
24
31
  end
25
32
 
26
33
  branches = branches.select { |k, v| k != current_branch_with_mark && !k.include?("* (HEAD detached at") }
27
34
 
28
35
  puts "Current branch is: #{current_branch.color(:green)}"
29
36
 
30
- prompt = TTY::Prompt.new(interrupt: :exit)
37
+ if test_prompt
38
+ prompt = test_prompt
39
+ else
40
+ prompt = TTY::Prompt.new(interrupt: :exit)
41
+ end
31
42
 
32
43
  prompt.on(:keypress) do |event|
33
44
  if event.value == 'q'
@@ -40,8 +51,7 @@ class GitDD
40
51
  end
41
52
 
42
53
  if branches_to_delete.size == 0
43
- puts "No branch selected"
44
- return
54
+ return print(NO_BRANCH_SELECTED)
45
55
  end
46
56
 
47
57
  branches_to_delete.each { |b| puts b.color(:red) }
@@ -53,6 +63,8 @@ class GitDD
53
63
  puts `git branch -D #{b}`.chomp.color(:yellow)
54
64
  end
55
65
  end
66
+
67
+ return branches_to_delete
56
68
  end
57
69
 
58
70
  private
@@ -64,4 +76,9 @@ class GitDD
64
76
  def current_branch
65
77
  @current_branch ||= `git rev-parse --abbrev-ref HEAD`.chomp
66
78
  end
79
+
80
+ def print(return_message)
81
+ puts return_message
82
+ return_message
83
+ end
67
84
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: git-dd
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.2
4
+ version: 0.2.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Weiqing Chu
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-07-16 00:00:00.000000000 Z
11
+ date: 2017-07-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: tty-prompt
@@ -38,6 +38,34 @@ dependencies:
38
38
  - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rspec
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '3.6'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '3.6'
55
+ - !ruby/object:Gem::Dependency
56
+ name: rake
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
41
69
  description:
42
70
  email: cwq1913@gmail.com
43
71
  executables:
@@ -46,6 +74,7 @@ extensions: []
46
74
  extra_rdoc_files: []
47
75
  files:
48
76
  - bin/git-dd
77
+ - lib/const.rb
49
78
  - lib/git-dd.rb
50
79
  homepage: https://github.com/Sanster/git-dd
51
80
  licenses: