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.
Files changed (6) hide show
  1. checksums.yaml +7 -0
  2. data/bin/review +8 -0
  3. data/bin/version +8 -0
  4. data/lib/review.rb +74 -0
  5. data/lib/version.rb +52 -0
  6. metadata +51 -0
@@ -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
@@ -0,0 +1,8 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ $LOAD_PATH.unshift File.expand_path("../../lib", __FILE__)
4
+
5
+ require "review"
6
+
7
+ Review::run
8
+
@@ -0,0 +1,8 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ $LOAD_PATH.unshift File.expand_path("../../lib", __FILE__)
4
+
5
+ require "version"
6
+
7
+ Version::run
8
+
@@ -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
+
@@ -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: []