homesick 0.5.2 → 0.5.3

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile CHANGED
@@ -1,8 +1,7 @@
1
+ source :gemcutter
2
+
1
3
  # Add dependencies required to use your gem here.
2
- group :runtime do
3
- #gem 'bundler', '>= 0.9.5'
4
- gem "thor", ">= 0.13.6"
5
- end
4
+ gem "thor", ">= 0.14.0"
6
5
 
7
6
  # Add dependencies to develop your gem here.
8
7
  # Include everything needed to run rake, tests, features, etc.
@@ -10,7 +9,7 @@ group :development do
10
9
  gem "rake"
11
10
  gem "rspec", ">= 1.2.9"
12
11
  gem "bundler", ">= 0.9.5"
13
- gem "jeweler", ">= 1.4.0"
12
+ gem "jeweler", ">= 1.5.0.pre"
14
13
  gem "rcov", ">= 0"
15
14
  gem "test-construct"
16
15
  end
data/Gemfile.lock ADDED
@@ -0,0 +1,25 @@
1
+ GEM
2
+ remote: http://rubygems.org/
3
+ specs:
4
+ git (1.2.5)
5
+ jeweler (1.5.0.pre)
6
+ bundler (>= 1.0.0.rc.5)
7
+ git (>= 1.2.5)
8
+ rake
9
+ rake (0.8.7)
10
+ rcov (0.9.8)
11
+ rspec (1.3.0)
12
+ test-construct (1.2.0)
13
+ thor (0.14.0)
14
+
15
+ PLATFORMS
16
+ ruby
17
+
18
+ DEPENDENCIES
19
+ bundler (>= 0.9.5)
20
+ jeweler (>= 1.5.0.pre)
21
+ rake
22
+ rcov
23
+ rspec (>= 1.2.9)
24
+ test-construct
25
+ thor (>= 0.14.0)
data/Rakefile CHANGED
@@ -1,7 +1,7 @@
1
1
  require 'rubygems'
2
2
  require 'bundler'
3
3
  begin
4
- Bundler.setup(:runtime, :development)
4
+ Bundler.setup(:default, :development)
5
5
  rescue Bundler::BundlerError => e
6
6
  $stderr.puts e.message
7
7
  $stderr.puts "Run `bundle install` to install missing gems"
@@ -14,7 +14,7 @@ Jeweler::Tasks.new do |gem|
14
14
  gem.name = "homesick"
15
15
  gem.summary = %Q{A man's home is his castle. Never leave your dotfiles behind.}
16
16
  gem.description = %Q{
17
- A mans home (directory) is his castle, so dont leave home with out it.
17
+ A man's home (directory) is his castle, so don't leave home with out it.
18
18
 
19
19
  Homesick is sorta like rip, but for dotfiles. It uses git to clone a repository containing dotfiles, and saves them in ~/.homesick. It then allows you to symlink all the dotfiles into place with a single command.
20
20
 
@@ -22,7 +22,7 @@ Jeweler::Tasks.new do |gem|
22
22
  gem.email = "josh@technicalpickles.com"
23
23
  gem.homepage = "http://github.com/technicalpickles/homesick"
24
24
  gem.authors = ["Joshua Nichols"]
25
- gem.version = "0.5.2"
25
+ gem.version = "0.5.3"
26
26
  # Have dependencies? Add them to Gemfile
27
27
 
28
28
  # gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
data/homesick.gemspec CHANGED
@@ -5,14 +5,14 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{homesick}
8
- s.version = "0.5.2"
8
+ s.version = "0.5.3"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Joshua Nichols"]
12
- s.date = %q{2010-07-22}
12
+ s.date = %q{2010-08-19}
13
13
  s.default_executable = %q{homesick}
14
14
  s.description = %q{
15
- A mans home (directory) is his castle, so dont leave home with out it.
15
+ A man's home (directory) is his castle, so don't leave home with out it.
16
16
 
17
17
  Homesick is sorta like rip, but for dotfiles. It uses git to clone a repository containing dotfiles, and saves them in ~/.homesick. It then allows you to symlink all the dotfiles into place with a single command.
18
18
 
@@ -21,44 +21,65 @@ Gem::Specification.new do |s|
21
21
  s.executables = ["homesick"]
22
22
  s.extra_rdoc_files = [
23
23
  "ChangeLog.markdown",
24
- "LICENSE",
25
- "README.markdown"
24
+ "LICENSE",
25
+ "README.markdown"
26
26
  ]
27
27
  s.files = [
28
28
  ".document",
29
- ".gitignore",
30
- "ChangeLog.markdown",
31
- "Gemfile",
32
- "LICENSE",
33
- "README.markdown",
34
- "Rakefile",
35
- "bin/homesick",
36
- "homesick.gemspec",
37
- "lib/homesick.rb",
38
- "lib/homesick/actions.rb",
39
- "lib/homesick/shell.rb",
40
- "spec/homesick_spec.rb",
41
- "spec/spec.opts",
42
- "spec/spec_helper.rb"
29
+ ".gitignore",
30
+ "ChangeLog.markdown",
31
+ "Gemfile",
32
+ "Gemfile.lock",
33
+ "LICENSE",
34
+ "README.markdown",
35
+ "Rakefile",
36
+ "bin/homesick",
37
+ "homesick.gemspec",
38
+ "lib/homesick.rb",
39
+ "lib/homesick/actions.rb",
40
+ "lib/homesick/shell.rb",
41
+ "spec/homesick_spec.rb",
42
+ "spec/spec.opts",
43
+ "spec/spec_helper.rb"
43
44
  ]
44
45
  s.homepage = %q{http://github.com/technicalpickles/homesick}
45
- s.rdoc_options = ["--charset=UTF-8"]
46
46
  s.require_paths = ["lib"]
47
- s.rubygems_version = %q{1.3.6}
47
+ s.rubygems_version = %q{1.3.7}
48
48
  s.summary = %q{A man's home is his castle. Never leave your dotfiles behind.}
49
49
  s.test_files = [
50
50
  "spec/homesick_spec.rb",
51
- "spec/spec_helper.rb"
51
+ "spec/spec_helper.rb"
52
52
  ]
53
53
 
54
54
  if s.respond_to? :specification_version then
55
55
  current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
56
56
  s.specification_version = 3
57
57
 
58
- if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
58
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
59
+ s.add_runtime_dependency(%q<thor>, [">= 0.14.0"])
60
+ s.add_development_dependency(%q<rake>, [">= 0"])
61
+ s.add_development_dependency(%q<rspec>, [">= 1.2.9"])
62
+ s.add_development_dependency(%q<bundler>, [">= 0.9.5"])
63
+ s.add_development_dependency(%q<jeweler>, [">= 1.5.0.pre"])
64
+ s.add_development_dependency(%q<rcov>, [">= 0"])
65
+ s.add_development_dependency(%q<test-construct>, [">= 0"])
59
66
  else
67
+ s.add_dependency(%q<thor>, [">= 0.14.0"])
68
+ s.add_dependency(%q<rake>, [">= 0"])
69
+ s.add_dependency(%q<rspec>, [">= 1.2.9"])
70
+ s.add_dependency(%q<bundler>, [">= 0.9.5"])
71
+ s.add_dependency(%q<jeweler>, [">= 1.5.0.pre"])
72
+ s.add_dependency(%q<rcov>, [">= 0"])
73
+ s.add_dependency(%q<test-construct>, [">= 0"])
60
74
  end
61
75
  else
76
+ s.add_dependency(%q<thor>, [">= 0.14.0"])
77
+ s.add_dependency(%q<rake>, [">= 0"])
78
+ s.add_dependency(%q<rspec>, [">= 1.2.9"])
79
+ s.add_dependency(%q<bundler>, [">= 0.9.5"])
80
+ s.add_dependency(%q<jeweler>, [">= 1.5.0.pre"])
81
+ s.add_dependency(%q<rcov>, [">= 0"])
82
+ s.add_dependency(%q<test-construct>, [">= 0"])
62
83
  end
63
84
  end
64
85
 
data/lib/homesick.rb CHANGED
@@ -27,12 +27,14 @@ class Homesick < Thor
27
27
  elsif uri =~ GITHUB_NAME_REPO_PATTERN
28
28
  destination = Pathname.new($1)
29
29
  git_clone "git://github.com/#{$1}.git", :destination => destination
30
- else
31
- if uri =~ /\/([^\/]*).git\Z/
32
- destination = Pathname.new($1)
33
- end
34
-
30
+ elsif uri =~ /\/([^\/]*)(\.git)?\Z/
31
+ destination = Pathname.new($1)
35
32
  git_clone uri
33
+ elsif uri =~ /[^:]+:([^:]+)(\.git)?\Z/
34
+ destination = Pathname.new($1)
35
+ git_clone uri
36
+ else
37
+ raise "Unknown URI format: #{uri}"
36
38
  end
37
39
 
38
40
  if destination.join('.gitmodules').exist?
@@ -34,6 +34,30 @@ describe Homesick do
34
34
  @homesick.clone 'http://github.com/technicalpickles/pickled-vim.git'
35
35
  end
36
36
 
37
+ it "should clone git repo like http://host/path/to" do
38
+ @homesick.should_receive(:git_clone).with('http://github.com/technicalpickles/pickled-vim')
39
+
40
+ @homesick.clone 'http://github.com/technicalpickles/pickled-vim'
41
+ end
42
+
43
+ it "should clone git repo like host-alias:repos.git" do
44
+ @homesick.should_receive(:git_clone).with('gitolite:pickled-vim.git')
45
+
46
+ @homesick.clone 'gitolite:pickled-vim.git'
47
+ end
48
+
49
+ it "should not try to clone a malformed uri like malformed" do
50
+ @homesick.should_not_receive(:git_clone)
51
+
52
+ @homesick.clone 'malformed' rescue nil
53
+ end
54
+
55
+ it "should throw an exception when trying to clone a malformed uri like malformed" do
56
+ lambda {
57
+ @homesick.clone 'malformed'
58
+ }.should raise_error
59
+ end
60
+
37
61
  it "should clone a github repo" do
38
62
  @homesick.should_receive(:git_clone).with('git://github.com/wfarr/dotfiles.git', :destination => Pathname.new('wfarr/dotfiles'))
39
63
 
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 0
7
7
  - 5
8
- - 2
9
- version: 0.5.2
8
+ - 3
9
+ version: 0.5.3
10
10
  platform: ruby
11
11
  authors:
12
12
  - Joshua Nichols
@@ -14,11 +14,110 @@ autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
16
 
17
- date: 2010-07-22 00:00:00 -04:00
17
+ date: 2010-08-19 00:00:00 -04:00
18
18
  default_executable: homesick
19
- dependencies: []
20
-
21
- description: "\n A man\xE2\x80\x99s home (directory) is his castle, so don\xE2\x80\x99t leave home with out it.\n\n Homesick is sorta like rip, but for dotfiles. It uses git to clone a repository containing dotfiles, and saves them in ~/.homesick. It then allows you to symlink all the dotfiles into place with a single command. \n\n "
19
+ dependencies:
20
+ - !ruby/object:Gem::Dependency
21
+ name: thor
22
+ requirement: &id001 !ruby/object:Gem::Requirement
23
+ none: false
24
+ requirements:
25
+ - - ">="
26
+ - !ruby/object:Gem::Version
27
+ segments:
28
+ - 0
29
+ - 14
30
+ - 0
31
+ version: 0.14.0
32
+ type: :runtime
33
+ prerelease: false
34
+ version_requirements: *id001
35
+ - !ruby/object:Gem::Dependency
36
+ name: rake
37
+ requirement: &id002 !ruby/object:Gem::Requirement
38
+ none: false
39
+ requirements:
40
+ - - ">="
41
+ - !ruby/object:Gem::Version
42
+ segments:
43
+ - 0
44
+ version: "0"
45
+ type: :development
46
+ prerelease: false
47
+ version_requirements: *id002
48
+ - !ruby/object:Gem::Dependency
49
+ name: rspec
50
+ requirement: &id003 !ruby/object:Gem::Requirement
51
+ none: false
52
+ requirements:
53
+ - - ">="
54
+ - !ruby/object:Gem::Version
55
+ segments:
56
+ - 1
57
+ - 2
58
+ - 9
59
+ version: 1.2.9
60
+ type: :development
61
+ prerelease: false
62
+ version_requirements: *id003
63
+ - !ruby/object:Gem::Dependency
64
+ name: bundler
65
+ requirement: &id004 !ruby/object:Gem::Requirement
66
+ none: false
67
+ requirements:
68
+ - - ">="
69
+ - !ruby/object:Gem::Version
70
+ segments:
71
+ - 0
72
+ - 9
73
+ - 5
74
+ version: 0.9.5
75
+ type: :development
76
+ prerelease: false
77
+ version_requirements: *id004
78
+ - !ruby/object:Gem::Dependency
79
+ name: jeweler
80
+ requirement: &id005 !ruby/object:Gem::Requirement
81
+ none: false
82
+ requirements:
83
+ - - ">="
84
+ - !ruby/object:Gem::Version
85
+ segments:
86
+ - 1
87
+ - 5
88
+ - 0
89
+ - pre
90
+ version: 1.5.0.pre
91
+ type: :development
92
+ prerelease: false
93
+ version_requirements: *id005
94
+ - !ruby/object:Gem::Dependency
95
+ name: rcov
96
+ requirement: &id006 !ruby/object:Gem::Requirement
97
+ none: false
98
+ requirements:
99
+ - - ">="
100
+ - !ruby/object:Gem::Version
101
+ segments:
102
+ - 0
103
+ version: "0"
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: *id006
107
+ - !ruby/object:Gem::Dependency
108
+ name: test-construct
109
+ requirement: &id007 !ruby/object:Gem::Requirement
110
+ none: false
111
+ requirements:
112
+ - - ">="
113
+ - !ruby/object:Gem::Version
114
+ segments:
115
+ - 0
116
+ version: "0"
117
+ type: :development
118
+ prerelease: false
119
+ version_requirements: *id007
120
+ description: "\n A man's home (directory) is his castle, so don't leave home with out it.\n\n Homesick is sorta like rip, but for dotfiles. It uses git to clone a repository containing dotfiles, and saves them in ~/.homesick. It then allows you to symlink all the dotfiles into place with a single command. \n\n "
22
121
  email: josh@technicalpickles.com
23
122
  executables:
24
123
  - homesick
@@ -33,6 +132,7 @@ files:
33
132
  - .gitignore
34
133
  - ChangeLog.markdown
35
134
  - Gemfile
135
+ - Gemfile.lock
36
136
  - LICENSE
37
137
  - README.markdown
38
138
  - Rakefile
@@ -49,18 +149,21 @@ homepage: http://github.com/technicalpickles/homesick
49
149
  licenses: []
50
150
 
51
151
  post_install_message:
52
- rdoc_options:
53
- - --charset=UTF-8
152
+ rdoc_options: []
153
+
54
154
  require_paths:
55
155
  - lib
56
156
  required_ruby_version: !ruby/object:Gem::Requirement
157
+ none: false
57
158
  requirements:
58
159
  - - ">="
59
160
  - !ruby/object:Gem::Version
161
+ hash: 4372218246039305683
60
162
  segments:
61
163
  - 0
62
164
  version: "0"
63
165
  required_rubygems_version: !ruby/object:Gem::Requirement
166
+ none: false
64
167
  requirements:
65
168
  - - ">="
66
169
  - !ruby/object:Gem::Version
@@ -70,7 +173,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
70
173
  requirements: []
71
174
 
72
175
  rubyforge_project:
73
- rubygems_version: 1.3.6
176
+ rubygems_version: 1.3.7
74
177
  signing_key:
75
178
  specification_version: 3
76
179
  summary: A man's home is his castle. Never leave your dotfiles behind.