homesick 0.5.2 → 0.5.3

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.
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.