freerange-cli 0.0.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. data/bin/freerange +4 -0
  2. data/lib/freerange.rb +38 -0
  3. metadata +73 -0
data/bin/freerange ADDED
@@ -0,0 +1,4 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'freerange'
4
+ FreeRange::CLI.start
data/lib/freerange.rb ADDED
@@ -0,0 +1,38 @@
1
+ require 'rubygems'
2
+ require 'thor'
3
+
4
+
5
+ module FreeRange
6
+ MEMBERS = {
7
+ 'james.adam' => 'James Adam',
8
+ 'james.andrews' => 'James Andrews',
9
+ 'james.mead' => 'James Mead',
10
+ 'jason.cale' => 'Jason Cale',
11
+ 'luke.redpath' => 'Luke Redpath',
12
+ 'kalvir.sandhu' => 'Kalvir Sandhu',
13
+ 'tom.ward' => 'Tom Ward'
14
+ }
15
+
16
+ class CLI < Thor
17
+ desc 'members', 'Lists freerange members'
18
+ def members
19
+ MEMBERS.keys.sort.each {|name| puts name }
20
+ end
21
+
22
+ desc 'pair NAME', 'Changes who you are pairing with'
23
+ method_options :show => :boolean
24
+ def pair(author)
25
+ owner_name = `git config --global --get user.name`.strip
26
+ owner = MEMBERS.keys.detect {|x| MEMBERS[x] == owner_name }
27
+ pair = [MEMBERS[owner], MEMBERS[author]].sort
28
+ `git config user.name '#{pair.join(" & ")}'`
29
+ `git config user.email '#{[owner,author].sort.join('+')}+pairing@gofreerange.com'`
30
+ end
31
+
32
+ desc 'unpair', 'Stop pairing'
33
+ def unpair
34
+ `git config --unset user.name`
35
+ `git config --unset user.email`
36
+ end
37
+ end
38
+ end
metadata ADDED
@@ -0,0 +1,73 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: freerange-cli
3
+ version: !ruby/object:Gem::Version
4
+ prerelease: false
5
+ segments:
6
+ - 0
7
+ - 0
8
+ - 6
9
+ version: 0.0.6
10
+ platform: ruby
11
+ authors:
12
+ - Tom Ward
13
+ autorequire:
14
+ bindir: bin
15
+ cert_chain: []
16
+
17
+ date: 2010-05-21 00:00:00 +01:00
18
+ default_executable:
19
+ dependencies:
20
+ - !ruby/object:Gem::Dependency
21
+ name: thor
22
+ prerelease: false
23
+ requirement: &id001 !ruby/object:Gem::Requirement
24
+ requirements:
25
+ - - ">="
26
+ - !ruby/object:Gem::Version
27
+ segments:
28
+ - 0
29
+ version: "0"
30
+ type: :runtime
31
+ version_requirements: *id001
32
+ description:
33
+ email: tom@popdog.net
34
+ executables:
35
+ - freerange
36
+ extensions: []
37
+
38
+ extra_rdoc_files: []
39
+
40
+ files:
41
+ - lib/freerange.rb
42
+ has_rdoc: true
43
+ homepage: http://gofreerange.com
44
+ licenses: []
45
+
46
+ post_install_message:
47
+ rdoc_options: []
48
+
49
+ require_paths:
50
+ - lib
51
+ required_ruby_version: !ruby/object:Gem::Requirement
52
+ requirements:
53
+ - - ">="
54
+ - !ruby/object:Gem::Version
55
+ segments:
56
+ - 0
57
+ version: "0"
58
+ required_rubygems_version: !ruby/object:Gem::Requirement
59
+ requirements:
60
+ - - ">="
61
+ - !ruby/object:Gem::Version
62
+ segments:
63
+ - 0
64
+ version: "0"
65
+ requirements: []
66
+
67
+ rubyforge_project:
68
+ rubygems_version: 1.3.6
69
+ signing_key:
70
+ specification_version: 3
71
+ summary: What this thing does
72
+ test_files: []
73
+