git-dd 0.2.2 → 0.2.3

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.
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: