vendorer 0.1.2 → 0.1.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.lock +1 -1
- data/Readme.md +5 -1
- data/lib/vendorer/version.rb +1 -1
- data/lib/vendorer.rb +2 -0
- data/spec/vendorer_spec.rb +34 -2
- metadata +24 -38
data/Gemfile.lock
CHANGED
data/Readme.md
CHANGED
@@ -17,6 +17,11 @@ Add a `Vendorfile` to your project root:
|
|
17
17
|
file 'public/javascripts/jquery.min.js', 'http://code.jquery.com/jquery-latest.min.js'
|
18
18
|
folder 'vendor/plugins/parallel_tests', 'https://github.com/grosser/parallel_tests.git'
|
19
19
|
|
20
|
+
# execute a block after updates
|
21
|
+
file 'public/javascripts/jquery.js', 'http://code.jquery.com/jquery.js' do |path|
|
22
|
+
puts "Do something useful with #{path}"
|
23
|
+
end
|
24
|
+
|
20
25
|
Call `vendorer`
|
21
26
|
|
22
27
|
If you added something new: `vendorer`
|
@@ -31,7 +36,6 @@ TODO
|
|
31
36
|
- git branch/commit support
|
32
37
|
- `folder 'vendor' do` which will remove everything that is not vendored via Vendorfile on `vendorer update` or `vendorer update vendor`
|
33
38
|
- nice error message when no Vendorfile was found
|
34
|
-
- block support `folder(....){|folder| `rm -rf "#{folder}/.gitignore"` }`
|
35
39
|
|
36
40
|
Author
|
37
41
|
======
|
data/lib/vendorer/version.rb
CHANGED
data/lib/vendorer.rb
CHANGED
@@ -11,6 +11,7 @@ class Vendorer
|
|
11
11
|
run "mkdir -p #{File.dirname(path)}"
|
12
12
|
run "curl '#{url}' -o #{path}"
|
13
13
|
raise "Downloaded empty file" unless File.exist?(path)
|
14
|
+
yield path if block_given?
|
14
15
|
end
|
15
16
|
end
|
16
17
|
|
@@ -19,6 +20,7 @@ class Vendorer
|
|
19
20
|
run "mkdir -p #{File.dirname(path)}"
|
20
21
|
run "git clone '#{url}' #{path}"
|
21
22
|
run "rm -rf #{path}/.git"
|
23
|
+
yield path if block_given?
|
22
24
|
end
|
23
25
|
end
|
24
26
|
|
data/spec/vendorer_spec.rb
CHANGED
@@ -97,12 +97,28 @@ describe Vendorer do
|
|
97
97
|
end
|
98
98
|
end
|
99
99
|
|
100
|
-
it "fails with a nice message" do
|
100
|
+
it "fails with a nice message if the Vendorfile is broken" do
|
101
101
|
write 'Vendorfile', "file 'xxx.js', 'http://NOTFOUND'"
|
102
102
|
result = run '', :raise => true
|
103
103
|
# different errors on travis / local
|
104
104
|
raise result unless result.include?("resolve host 'NOTFOUND'") or result.include?('Downloaded empty file')
|
105
105
|
end
|
106
|
+
|
107
|
+
context "with a passed block" do
|
108
|
+
before do
|
109
|
+
write 'Vendorfile', "file('public/javascripts/jquery.js', 'http://code.jquery.com/jquery-latest.js'){|path| puts 'THE PATH IS ' + path }"
|
110
|
+
@output = "THE PATH IS public/javascripts/jquery.js"
|
111
|
+
end
|
112
|
+
|
113
|
+
it "runs the block after update" do
|
114
|
+
run.should include(@output)
|
115
|
+
end
|
116
|
+
|
117
|
+
it "does not run the block when not updating" do
|
118
|
+
run
|
119
|
+
run.should_not include(@output)
|
120
|
+
end
|
121
|
+
end
|
106
122
|
end
|
107
123
|
|
108
124
|
describe '.folder' do
|
@@ -113,7 +129,7 @@ describe Vendorer do
|
|
113
129
|
read('vendor/plugins/parallel_tests/Gemfile').should include('parallel')
|
114
130
|
end
|
115
131
|
|
116
|
-
it "reports errors" do
|
132
|
+
it "reports errors when the Vendorfile is broken" do
|
117
133
|
write 'Vendorfile', "folder 'vendor/plugins/parallel_tests', 'https://blob'"
|
118
134
|
output = run '', :raise => true
|
119
135
|
# different errors on travis / local
|
@@ -160,5 +176,21 @@ describe Vendorer do
|
|
160
176
|
size('its_recursive/Gemfile').should > 30
|
161
177
|
end
|
162
178
|
end
|
179
|
+
|
180
|
+
context "with a passed block" do
|
181
|
+
before do
|
182
|
+
write 'Vendorfile', "folder('its_recursive', '../../.git'){|path| puts 'THE PATH IS ' + path }"
|
183
|
+
@output = 'THE PATH IS its_recursive'
|
184
|
+
end
|
185
|
+
|
186
|
+
it "runs the block after update" do
|
187
|
+
run.should include(@output)
|
188
|
+
end
|
189
|
+
|
190
|
+
it "does not run the block when not updating" do
|
191
|
+
run
|
192
|
+
run.should_not include(@output)
|
193
|
+
end
|
194
|
+
end
|
163
195
|
end
|
164
196
|
end
|
metadata
CHANGED
@@ -1,33 +1,23 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: vendorer
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.3
|
5
5
|
prerelease:
|
6
|
-
segments:
|
7
|
-
- 0
|
8
|
-
- 1
|
9
|
-
- 2
|
10
|
-
version: 0.1.2
|
11
6
|
platform: ruby
|
12
|
-
authors:
|
7
|
+
authors:
|
13
8
|
- Michael Grosser
|
14
9
|
autorequire:
|
15
10
|
bindir: bin
|
16
11
|
cert_chain: []
|
17
|
-
|
18
|
-
date: 2011-12-13 00:00:00 -08:00
|
19
|
-
default_executable:
|
12
|
+
date: 2011-12-14 00:00:00.000000000 Z
|
20
13
|
dependencies: []
|
21
|
-
|
22
14
|
description:
|
23
15
|
email: michael@grosser.it
|
24
|
-
executables:
|
16
|
+
executables:
|
25
17
|
- vendorer
|
26
18
|
extensions: []
|
27
|
-
|
28
19
|
extra_rdoc_files: []
|
29
|
-
|
30
|
-
files:
|
20
|
+
files:
|
31
21
|
- .travis.yml
|
32
22
|
- Gemfile
|
33
23
|
- Gemfile.lock
|
@@ -39,39 +29,35 @@ files:
|
|
39
29
|
- spec/spec_helper.rb
|
40
30
|
- spec/vendorer_spec.rb
|
41
31
|
- vendorer.gemspec
|
42
|
-
has_rdoc: true
|
43
32
|
homepage: http://github.com/grosser/vendorer
|
44
|
-
licenses:
|
33
|
+
licenses:
|
45
34
|
- MIT
|
46
35
|
post_install_message:
|
47
36
|
rdoc_options: []
|
48
|
-
|
49
|
-
require_paths:
|
37
|
+
require_paths:
|
50
38
|
- lib
|
51
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
39
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
52
40
|
none: false
|
53
|
-
requirements:
|
54
|
-
- -
|
55
|
-
- !ruby/object:Gem::Version
|
56
|
-
|
57
|
-
segments:
|
41
|
+
requirements:
|
42
|
+
- - ! '>='
|
43
|
+
- !ruby/object:Gem::Version
|
44
|
+
version: '0'
|
45
|
+
segments:
|
58
46
|
- 0
|
59
|
-
|
60
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
47
|
+
hash: 36649393
|
48
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
61
49
|
none: false
|
62
|
-
requirements:
|
63
|
-
- -
|
64
|
-
- !ruby/object:Gem::Version
|
65
|
-
|
66
|
-
segments:
|
50
|
+
requirements:
|
51
|
+
- - ! '>='
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: '0'
|
54
|
+
segments:
|
67
55
|
- 0
|
68
|
-
|
56
|
+
hash: 36649393
|
69
57
|
requirements: []
|
70
|
-
|
71
58
|
rubyforge_project:
|
72
|
-
rubygems_version: 1.
|
59
|
+
rubygems_version: 1.8.10
|
73
60
|
signing_key:
|
74
61
|
specification_version: 3
|
75
62
|
summary: Keep your vendor files up to date
|
76
63
|
test_files: []
|
77
|
-
|