rapid-cli 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 +7 -0
- data/bin/review +8 -0
- data/bin/version +8 -0
- data/lib/review.rb +74 -0
- data/lib/version.rb +52 -0
- metadata +51 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: f1ea1b2b7bffbc91c024eecd8d3c73f079c0ad5b
|
4
|
+
data.tar.gz: 8598ba479403d15e1945f27d42e7af41a331872f
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: ed4b13f1ed1b162437dac1b42a5b2f63f023cafbac7949c2e221b232058e492d65b05d60a38d986843e2226ac826ab1f1d3db796ca85d4cf5dca30e2aba94ae6
|
7
|
+
data.tar.gz: e13b94fb81511e6c521725f3ce368ed683ece7e9df455bf26e7c7343888ca35476f09580e5876181f72152c281fbf96ea5845e65653b3f2b6408421b7e61dfeb
|
data/bin/review
ADDED
data/bin/version
ADDED
data/lib/review.rb
ADDED
@@ -0,0 +1,74 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'highline/import'
|
3
|
+
|
4
|
+
module Review
|
5
|
+
class << self
|
6
|
+
|
7
|
+
def files
|
8
|
+
output = `git status --porcelain | grep "^\\(.\\)\\+M" | sed s/^...//`
|
9
|
+
output.split("\n")
|
10
|
+
end
|
11
|
+
|
12
|
+
def show_diff_for(filename)
|
13
|
+
cmd = "git diff " + filename
|
14
|
+
system(cmd)
|
15
|
+
ask_to_add filename
|
16
|
+
end
|
17
|
+
|
18
|
+
def ask_to_add(filename)
|
19
|
+
choose do |cmd|
|
20
|
+
cmd.index = :none
|
21
|
+
cmd.prompt = "Add to stage? "
|
22
|
+
cmd.layout = :one_line
|
23
|
+
cmd.choice("yes") { add_to_stage filename }
|
24
|
+
cmd.choice("no")
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
def add_to_stage(filename)
|
29
|
+
cmd = "git add " + filename
|
30
|
+
system(cmd)
|
31
|
+
end
|
32
|
+
|
33
|
+
def show_menu
|
34
|
+
HighLine.color_scheme = HighLine::ColorScheme.new do |cs|
|
35
|
+
cs[:system_option] = [ :green ]
|
36
|
+
cs[:simple_option] = [ :magenta ]
|
37
|
+
end
|
38
|
+
|
39
|
+
choose do |menu|
|
40
|
+
menu.header = "Select file to see"
|
41
|
+
menu.prompt = "> "
|
42
|
+
|
43
|
+
menu.choice("<%= color('Stop stage review', :system_option) %>") { exit 1 }
|
44
|
+
|
45
|
+
for i in 0...files.size
|
46
|
+
filename = files[i]
|
47
|
+
option_string = "<%= color('#{filename}', :simple_option) %>"
|
48
|
+
|
49
|
+
menu.choice(option_string) do
|
50
|
+
show_diff_for filename
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
54
|
+
|
55
|
+
show_menu
|
56
|
+
end
|
57
|
+
|
58
|
+
def run
|
59
|
+
if files.size == 0
|
60
|
+
puts "There are no unstaged files"
|
61
|
+
exit 0
|
62
|
+
elsif files.size == 1
|
63
|
+
show_diff_for(files.first)
|
64
|
+
else
|
65
|
+
show_menu
|
66
|
+
end
|
67
|
+
|
68
|
+
system("git status -s")
|
69
|
+
exit 1
|
70
|
+
end
|
71
|
+
|
72
|
+
end # class
|
73
|
+
end # module
|
74
|
+
|
data/lib/version.rb
ADDED
@@ -0,0 +1,52 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'highline/import'
|
3
|
+
|
4
|
+
module Version
|
5
|
+
class << self
|
6
|
+
|
7
|
+
COMMANDS = ['major', 'minor', 'patch']
|
8
|
+
REGEX = /^([0-9]+)\.?([0-9]*)\.?([0-9]*)/
|
9
|
+
|
10
|
+
def run
|
11
|
+
version = ARGV[0]
|
12
|
+
command = ARGV[1]
|
13
|
+
|
14
|
+
unless ARGV.size > 1 or version =~ REGEX
|
15
|
+
puts 'Usage: version <version> <command>'
|
16
|
+
puts
|
17
|
+
puts 'Commands:'
|
18
|
+
puts "\tmajor\tUpgrade major number"
|
19
|
+
puts "\tminor\tUpgrade minor number"
|
20
|
+
puts "\tpatch\tUpgrade patch number"
|
21
|
+
puts
|
22
|
+
puts 'Example:'
|
23
|
+
puts "\tversion 1.3.5 minor"
|
24
|
+
exit 0
|
25
|
+
end
|
26
|
+
|
27
|
+
parts = version.scan(REGEX)
|
28
|
+
parts = parts.first
|
29
|
+
parts.map! { |i| i.to_i }
|
30
|
+
|
31
|
+
major = parts[0]
|
32
|
+
minor = parts[1]
|
33
|
+
patch = parts[2]
|
34
|
+
|
35
|
+
if command == COMMANDS[0]
|
36
|
+
major += 1
|
37
|
+
minor = 0
|
38
|
+
patch = 0
|
39
|
+
elsif command == COMMANDS[1]
|
40
|
+
minor += 1
|
41
|
+
patch = 0
|
42
|
+
else
|
43
|
+
patch += 1
|
44
|
+
end
|
45
|
+
|
46
|
+
puts "#{major}.#{minor}.#{patch}"
|
47
|
+
exit 1
|
48
|
+
end # run
|
49
|
+
|
50
|
+
end # class
|
51
|
+
end # module
|
52
|
+
|
metadata
ADDED
@@ -0,0 +1,51 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: rapid-cli
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.2
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Madson Cardoso
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2013-10-07 00:00:00.000000000 Z
|
12
|
+
dependencies: []
|
13
|
+
description: |
|
14
|
+
Rapid is a simple command-line toolset to see diff for files in a git
|
15
|
+
repository more useful when it has more than one modified files.
|
16
|
+
email: madsonmac@gmail.com
|
17
|
+
executables:
|
18
|
+
- review
|
19
|
+
- version
|
20
|
+
extensions: []
|
21
|
+
extra_rdoc_files: []
|
22
|
+
files:
|
23
|
+
- bin/review
|
24
|
+
- bin/version
|
25
|
+
- lib/review.rb
|
26
|
+
- lib/version.rb
|
27
|
+
homepage: http://madsonmac.com
|
28
|
+
licenses:
|
29
|
+
- MIT
|
30
|
+
metadata: {}
|
31
|
+
post_install_message:
|
32
|
+
rdoc_options: []
|
33
|
+
require_paths:
|
34
|
+
- lib
|
35
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
36
|
+
requirements:
|
37
|
+
- - ">="
|
38
|
+
- !ruby/object:Gem::Version
|
39
|
+
version: '0'
|
40
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
41
|
+
requirements:
|
42
|
+
- - ">="
|
43
|
+
- !ruby/object:Gem::Version
|
44
|
+
version: '0'
|
45
|
+
requirements: []
|
46
|
+
rubyforge_project:
|
47
|
+
rubygems_version: 2.2.2
|
48
|
+
signing_key:
|
49
|
+
specification_version: 4
|
50
|
+
summary: Rapid is a command-line toolset.
|
51
|
+
test_files: []
|