vendorer 0.1.9 → 0.1.10
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/lib/vendorer/version.rb +1 -1
- data/lib/vendorer.rb +2 -2
- data/spec/vendorer_spec.rb +47 -20
- metadata +36 -24
data/Gemfile.lock
CHANGED
data/lib/vendorer/version.rb
CHANGED
data/lib/vendorer.rb
CHANGED
@@ -7,7 +7,7 @@ class Vendorer
|
|
7
7
|
end
|
8
8
|
|
9
9
|
def parse(content)
|
10
|
-
eval(content)
|
10
|
+
eval(content, nil, 'Vendorfile', 1)
|
11
11
|
end
|
12
12
|
|
13
13
|
def file(path, url)
|
@@ -82,6 +82,6 @@ class Vendorer
|
|
82
82
|
end
|
83
83
|
|
84
84
|
def complete_path(path)
|
85
|
-
(@sub_path + [path])
|
85
|
+
File.join(@sub_path + [path])
|
86
86
|
end
|
87
87
|
end
|
data/spec/vendorer_spec.rb
CHANGED
@@ -186,6 +186,14 @@ describe Vendorer do
|
|
186
186
|
read('its_recursive/Gemfile').should include('rake')
|
187
187
|
end
|
188
188
|
|
189
|
+
it "can handle a trailing slash" do
|
190
|
+
write 'Vendorfile', "folder 'its_recursive/', '../../.git'"
|
191
|
+
output = vendorer
|
192
|
+
ls('').should == ["its_recursive", "Vendorfile"]
|
193
|
+
read('its_recursive/Gemfile').should include('rake')
|
194
|
+
output.should_not include('//')
|
195
|
+
end
|
196
|
+
|
189
197
|
it "does not keep .git folder so everything can be checked in" do
|
190
198
|
vendorer
|
191
199
|
ls('its_recursive/.git').first.should include('cannot access')
|
@@ -303,6 +311,13 @@ describe Vendorer do
|
|
303
311
|
vendorer
|
304
312
|
read('public/javascripts/jquery.js').should include('jQuery')
|
305
313
|
end
|
314
|
+
|
315
|
+
it "can handle trailing slash" do
|
316
|
+
write 'Vendorfile', read('Vendorfile').sub("javascripts' do", "javascripts/' do")
|
317
|
+
output = vendorer
|
318
|
+
read('public/javascripts/jquery.js').should include('jQuery')
|
319
|
+
output.should_not include('//')
|
320
|
+
end
|
306
321
|
end
|
307
322
|
|
308
323
|
context "submodules" do
|
@@ -381,6 +396,12 @@ describe Vendorer do
|
|
381
396
|
v.parse '$test = self'
|
382
397
|
$test.should == v
|
383
398
|
end
|
399
|
+
|
400
|
+
it "fails with a nice backtrace" do
|
401
|
+
write 'Vendorfile', "\n\nfile 'XXX'\n\n"
|
402
|
+
output = vendorer '', :raise => true
|
403
|
+
output.should include("from Vendorfile:3:in `parse")
|
404
|
+
end
|
384
405
|
end
|
385
406
|
|
386
407
|
describe "#init" do
|
@@ -389,29 +410,35 @@ describe Vendorer do
|
|
389
410
|
read("Vendorfile").should include("folder")
|
390
411
|
end
|
391
412
|
|
392
|
-
|
393
|
-
|
394
|
-
|
395
|
-
|
413
|
+
context "from ruby" do
|
414
|
+
before do
|
415
|
+
Dir.chdir '../../' if RUBY_VERSION < '1.9'
|
416
|
+
end
|
396
417
|
|
397
|
-
|
398
|
-
|
399
|
-
|
400
|
-
|
418
|
+
it "creates a Vendorfile via ruby" do
|
419
|
+
Vendorer.new('init').init
|
420
|
+
read("Vendorfile").should include("folder")
|
421
|
+
end
|
401
422
|
|
402
|
-
|
403
|
-
|
404
|
-
|
405
|
-
|
406
|
-
read("Vendorfile").should include("rewrite(path)")
|
407
|
-
end
|
423
|
+
it "created Vendorfile contains commented out examples" do
|
424
|
+
Vendorer.new('init').init
|
425
|
+
read("Vendorfile").split("\n").each{|l| l.should =~ /^(#|\s*$)/ }
|
426
|
+
end
|
408
427
|
|
409
|
-
|
410
|
-
|
411
|
-
|
412
|
-
|
413
|
-
|
414
|
-
|
428
|
+
it "created Vendorfile contains many examples" do
|
429
|
+
Vendorer.new('init').init
|
430
|
+
read("Vendorfile").should include("folder 'vendor/")
|
431
|
+
read("Vendorfile").should include("file 'vendor/")
|
432
|
+
read("Vendorfile").should include("rewrite(path)")
|
433
|
+
end
|
434
|
+
|
435
|
+
it "created Vendorfile does not contain other instructions" do
|
436
|
+
Vendorer.new('init').init
|
437
|
+
read("Vendorfile").should_not include("vendorer init")
|
438
|
+
read("Vendorfile").should_not include("Gemfile")
|
439
|
+
read("Vendorfile").should_not include("gem install")
|
440
|
+
read("Vendorfile").should_not include("```")
|
441
|
+
end
|
415
442
|
end
|
416
443
|
end
|
417
444
|
end
|
metadata
CHANGED
@@ -1,23 +1,32 @@
|
|
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
|
+
hash: 15
|
5
5
|
prerelease:
|
6
|
+
segments:
|
7
|
+
- 0
|
8
|
+
- 1
|
9
|
+
- 10
|
10
|
+
version: 0.1.10
|
6
11
|
platform: ruby
|
7
|
-
authors:
|
12
|
+
authors:
|
8
13
|
- Michael Grosser
|
9
14
|
autorequire:
|
10
15
|
bindir: bin
|
11
16
|
cert_chain: []
|
12
|
-
|
17
|
+
|
18
|
+
date: 2012-02-28 00:00:00 Z
|
13
19
|
dependencies: []
|
20
|
+
|
14
21
|
description:
|
15
22
|
email: michael@grosser.it
|
16
|
-
executables:
|
23
|
+
executables:
|
17
24
|
- vendorer
|
18
25
|
extensions: []
|
26
|
+
|
19
27
|
extra_rdoc_files: []
|
20
|
-
|
28
|
+
|
29
|
+
files:
|
21
30
|
- .travis.yml
|
22
31
|
- Gemfile
|
23
32
|
- Gemfile.lock
|
@@ -30,34 +39,37 @@ files:
|
|
30
39
|
- spec/vendorer_spec.rb
|
31
40
|
- vendorer.gemspec
|
32
41
|
homepage: http://github.com/grosser/vendorer
|
33
|
-
licenses:
|
42
|
+
licenses:
|
34
43
|
- MIT
|
35
44
|
post_install_message:
|
36
45
|
rdoc_options: []
|
37
|
-
|
46
|
+
|
47
|
+
require_paths:
|
38
48
|
- lib
|
39
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
49
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
40
50
|
none: false
|
41
|
-
requirements:
|
42
|
-
- -
|
43
|
-
- !ruby/object:Gem::Version
|
44
|
-
|
45
|
-
segments:
|
51
|
+
requirements:
|
52
|
+
- - ">="
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
hash: 3
|
55
|
+
segments:
|
46
56
|
- 0
|
47
|
-
|
48
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
57
|
+
version: "0"
|
58
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
49
59
|
none: false
|
50
|
-
requirements:
|
51
|
-
- -
|
52
|
-
- !ruby/object:Gem::Version
|
53
|
-
|
54
|
-
segments:
|
60
|
+
requirements:
|
61
|
+
- - ">="
|
62
|
+
- !ruby/object:Gem::Version
|
63
|
+
hash: 3
|
64
|
+
segments:
|
55
65
|
- 0
|
56
|
-
|
66
|
+
version: "0"
|
57
67
|
requirements: []
|
68
|
+
|
58
69
|
rubyforge_project:
|
59
|
-
rubygems_version: 1.8.
|
70
|
+
rubygems_version: 1.8.15
|
60
71
|
signing_key:
|
61
72
|
specification_version: 3
|
62
73
|
summary: Keep your vendor files up to date
|
63
74
|
test_files: []
|
75
|
+
|