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 +4 -5
- data/Gemfile.lock +25 -0
- data/Rakefile +3 -3
- data/homesick.gemspec +44 -23
- data/lib/homesick.rb +7 -5
- data/spec/homesick_spec.rb +24 -0
- metadata +112 -9
data/Gemfile
CHANGED
@@ -1,8 +1,7 @@
|
|
1
|
+
source :gemcutter
|
2
|
+
|
1
3
|
# Add dependencies required to use your gem here.
|
2
|
-
|
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.
|
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(:
|
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 man
|
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.
|
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.
|
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-
|
12
|
+
s.date = %q{2010-08-19}
|
13
13
|
s.default_executable = %q{homesick}
|
14
14
|
s.description = %q{
|
15
|
-
A man
|
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
|
-
|
25
|
-
|
24
|
+
"LICENSE",
|
25
|
+
"README.markdown"
|
26
26
|
]
|
27
27
|
s.files = [
|
28
28
|
".document",
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
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.
|
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
|
-
|
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::
|
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
|
-
|
31
|
-
|
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?
|
data/spec/homesick_spec.rb
CHANGED
@@ -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
|
-
-
|
9
|
-
version: 0.5.
|
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-
|
17
|
+
date: 2010-08-19 00:00:00 -04:00
|
18
18
|
default_executable: homesick
|
19
|
-
dependencies:
|
20
|
-
|
21
|
-
|
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
|
-
|
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.
|
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.
|