freerange-cli 0.0.6

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 (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
+