vendorer 0.1.8 → 0.1.9
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 +4 -1
 - data/bin/vendorer +4 -1
 - data/lib/vendorer/version.rb +1 -1
 - data/lib/vendorer.rb +12 -0
 - data/spec/vendorer_spec.rb +33 -1
 - metadata +4 -4
 
    
        data/Gemfile.lock
    CHANGED
    
    
    
        data/Readme.md
    CHANGED
    
    | 
         @@ -34,6 +34,7 @@ Usage 
     | 
|
| 
       34 
34 
     | 
    
         
             
            Add a `Vendorfile` to your project root:
         
     | 
| 
       35 
35 
     | 
    
         | 
| 
       36 
36 
     | 
    
         | 
| 
      
 37 
     | 
    
         
            +
            <!-- extracted by vendorer init -->
         
     | 
| 
       37 
38 
     | 
    
         
             
            ``` ruby
         
     | 
| 
       38 
39 
     | 
    
         
             
            file 'vendor/assets/javascripts/jquery.min.js', 'http://code.jquery.com/jquery-latest.min.js'
         
     | 
| 
       39 
40 
     | 
    
         
             
            folder 'vendor/plugins/parallel_tests', 'https://github.com/grosser/parallel_tests.git'
         
     | 
| 
         @@ -52,8 +53,9 @@ folder 'vendor/assets/javascripts' do 
     | 
|
| 
       52 
53 
     | 
    
         
             
              file 'jquery.js', 'http://code.jquery.com/jquery-latest.js'
         
     | 
| 
       53 
54 
     | 
    
         
             
            end
         
     | 
| 
       54 
55 
     | 
    
         
             
            ```
         
     | 
| 
      
 56 
     | 
    
         
            +
            <!-- extracted by vendorer init -->
         
     | 
| 
       55 
57 
     | 
    
         | 
| 
       56 
     | 
    
         
            -
             
     | 
| 
      
 58 
     | 
    
         
            +
             - Create a new Vendorfile: `vendorer init`
         
     | 
| 
       57 
59 
     | 
    
         
             
             - excute all installations: `vendorer`
         
     | 
| 
       58 
60 
     | 
    
         
             
             - Update all dependencies: `vendorer update`
         
     | 
| 
       59 
61 
     | 
    
         
             
             - update a single dependency: `vendorer update vendor/assets/javascripts/jquery.min.js`
         
     | 
| 
         @@ -69,6 +71,7 @@ Author 
     | 
|
| 
       69 
71 
     | 
    
         | 
| 
       70 
72 
     | 
    
         
             
            ### [Contributors](http://github.com/grosser/vendorer/contributors)
         
     | 
| 
       71 
73 
     | 
    
         
             
             - [Kurtis Rainbolt-Greene](https://github.com/krainboltgreene)
         
     | 
| 
      
 74 
     | 
    
         
            +
             - [Ivan K.](https://github.com/divout)
         
     | 
| 
       72 
75 
     | 
    
         | 
| 
       73 
76 
     | 
    
         
             
            [Michael Grosser](http://grosser.it)<br/>
         
     | 
| 
       74 
77 
     | 
    
         
             
            michael@grosser.it<br/>
         
     | 
    
        data/bin/vendorer
    CHANGED
    
    | 
         @@ -15,6 +15,7 @@ Create a Vendorfile in your project root with: 
     | 
|
| 
       15 
15 
     | 
    
         
             
                file 'public/javascripts/jquery.min.js' => 'http://code.jquery.com/jquery-latest.min.js'
         
     | 
| 
       16 
16 
     | 
    
         
             
                folder 'vendor/plugins/parallel_tests' => 'https://github.com/grosser/parallel_tests.git'
         
     | 
| 
       17 
17 
     | 
    
         | 
| 
      
 18 
     | 
    
         
            +
            Run `vendorer init` to create Vendorfile.
         
     | 
| 
       18 
19 
     | 
    
         
             
            Run `vendorer` to install.
         
     | 
| 
       19 
20 
     | 
    
         
             
            Run `vendorer update` to update.
         
     | 
| 
       20 
21 
     | 
    
         | 
| 
         @@ -30,5 +31,7 @@ end 
     | 
|
| 
       30 
31 
     | 
    
         
             
            parser.parse!
         
     | 
| 
       31 
32 
     | 
    
         | 
| 
       32 
33 
     | 
    
         
             
            require 'vendorer'
         
     | 
| 
       33 
     | 
    
         
            -
            v = Vendorer.new(:update => (ARGV[1] || true if ARGV[0] == 'update') 
     | 
| 
      
 34 
     | 
    
         
            +
            v = Vendorer.new(:update => (ARGV[1] || true if ARGV[0] == 'update'),
         
     | 
| 
      
 35 
     | 
    
         
            +
                             :init   => (true if ARGV[0] == 'init'))
         
     | 
| 
      
 36 
     | 
    
         
            +
            v.init and exit if ARGV[0] == 'init'
         
     | 
| 
       34 
37 
     | 
    
         
             
            v.parse(File.read('Vendorfile'))
         
     | 
    
        data/lib/vendorer/version.rb
    CHANGED
    
    
    
        data/lib/vendorer.rb
    CHANGED
    
    | 
         @@ -47,6 +47,18 @@ class Vendorer 
     | 
|
| 
       47 
47 
     | 
    
         
             
                File.open(path,'w'){|f| f.write(result) }
         
     | 
| 
       48 
48 
     | 
    
         
             
              end
         
     | 
| 
       49 
49 
     | 
    
         | 
| 
      
 50 
     | 
    
         
            +
              # Creates Vendorfile with examples
         
     | 
| 
      
 51 
     | 
    
         
            +
              def init
         
     | 
| 
      
 52 
     | 
    
         
            +
                separator = "<!-- extracted by vendorer init -->"
         
     | 
| 
      
 53 
     | 
    
         
            +
                readme = File.read(File.expand_path('../../Readme.md', __FILE__))
         
     | 
| 
      
 54 
     | 
    
         
            +
                examples = readme.split(separator)[1]
         
     | 
| 
      
 55 
     | 
    
         
            +
                examples.gsub!(/```.*/,'') # remove ``` from readme
         
     | 
| 
      
 56 
     | 
    
         
            +
                examples = examples.split("\n").map do |l|
         
     | 
| 
      
 57 
     | 
    
         
            +
                  (l.start_with? '#' or l.empty?) ? l : "# #{l}"
         
     | 
| 
      
 58 
     | 
    
         
            +
                end.join("\n")
         
     | 
| 
      
 59 
     | 
    
         
            +
                File.open('Vendorfile', 'w') { |f| f.write(examples.strip) }
         
     | 
| 
      
 60 
     | 
    
         
            +
              end
         
     | 
| 
      
 61 
     | 
    
         
            +
             
     | 
| 
       50 
62 
     | 
    
         
             
              private
         
     | 
| 
       51 
63 
     | 
    
         | 
| 
       52 
64 
     | 
    
         
             
              def update_or_not(path)
         
     | 
    
        data/spec/vendorer_spec.rb
    CHANGED
    
    | 
         @@ -346,7 +346,7 @@ describe Vendorer do 
     | 
|
| 
       346 
346 
     | 
    
         
             
                    create_git_repo 'b', 'touch .gitmodules'
         
     | 
| 
       347 
347 
     | 
    
         | 
| 
       348 
348 
     | 
    
         
             
                    # create submodules on a branch
         
     | 
| 
       349 
     | 
    
         
            -
                    run "cd b && git  
     | 
| 
      
 349 
     | 
    
         
            +
                    run "cd b && git checkout -b with_submodules"
         
     | 
| 
       350 
350 
     | 
    
         
             
                    run "cd b && git submodule add `cd ../a/.git && pwd` sub_b"
         
     | 
| 
       351 
351 
     | 
    
         
             
                    run "cd b && git add . && git commit -am 'submodules'"
         
     | 
| 
       352 
352 
     | 
    
         
             
                    run "cd b && git checkout master"
         
     | 
| 
         @@ -382,4 +382,36 @@ describe Vendorer do 
     | 
|
| 
       382 
382 
     | 
    
         
             
                  $test.should == v
         
     | 
| 
       383 
383 
     | 
    
         
             
                end
         
     | 
| 
       384 
384 
     | 
    
         
             
              end
         
     | 
| 
      
 385 
     | 
    
         
            +
             
     | 
| 
      
 386 
     | 
    
         
            +
              describe "#init" do
         
     | 
| 
      
 387 
     | 
    
         
            +
                it "creates a Vendorfile via cli" do
         
     | 
| 
      
 388 
     | 
    
         
            +
                  vendorer("init")
         
     | 
| 
      
 389 
     | 
    
         
            +
                  read("Vendorfile").should include("folder")
         
     | 
| 
      
 390 
     | 
    
         
            +
                end
         
     | 
| 
      
 391 
     | 
    
         
            +
             
     | 
| 
      
 392 
     | 
    
         
            +
                it "creates a Vendorfile via ruby" do
         
     | 
| 
      
 393 
     | 
    
         
            +
                  Vendorer.new('init').init
         
     | 
| 
      
 394 
     | 
    
         
            +
                  read("Vendorfile").should include("folder")
         
     | 
| 
      
 395 
     | 
    
         
            +
                end
         
     | 
| 
      
 396 
     | 
    
         
            +
             
     | 
| 
      
 397 
     | 
    
         
            +
                it "created Vendorfile contains commented out examples" do
         
     | 
| 
      
 398 
     | 
    
         
            +
                  Vendorer.new('init').init
         
     | 
| 
      
 399 
     | 
    
         
            +
                  read("Vendorfile").split("\n").each{|l| l.should =~ /^(#|\s*$)/ }
         
     | 
| 
      
 400 
     | 
    
         
            +
                end
         
     | 
| 
      
 401 
     | 
    
         
            +
             
     | 
| 
      
 402 
     | 
    
         
            +
                it "created Vendorfile contains many examples" do
         
     | 
| 
      
 403 
     | 
    
         
            +
                  Vendorer.new('init').init
         
     | 
| 
      
 404 
     | 
    
         
            +
                  read("Vendorfile").should include("folder 'vendor/")
         
     | 
| 
      
 405 
     | 
    
         
            +
                  read("Vendorfile").should include("file 'vendor/")
         
     | 
| 
      
 406 
     | 
    
         
            +
                  read("Vendorfile").should include("rewrite(path)")
         
     | 
| 
      
 407 
     | 
    
         
            +
                end
         
     | 
| 
      
 408 
     | 
    
         
            +
             
     | 
| 
      
 409 
     | 
    
         
            +
                it "created Vendorfile does not contain other instructions" do
         
     | 
| 
      
 410 
     | 
    
         
            +
                  Vendorer.new('init').init
         
     | 
| 
      
 411 
     | 
    
         
            +
                  read("Vendorfile").should_not include("vendorer init")
         
     | 
| 
      
 412 
     | 
    
         
            +
                  read("Vendorfile").should_not include("Gemfile")
         
     | 
| 
      
 413 
     | 
    
         
            +
                  read("Vendorfile").should_not include("gem install")
         
     | 
| 
      
 414 
     | 
    
         
            +
                  read("Vendorfile").should_not include("```")
         
     | 
| 
      
 415 
     | 
    
         
            +
                end
         
     | 
| 
      
 416 
     | 
    
         
            +
              end
         
     | 
| 
       385 
417 
     | 
    
         
             
            end
         
     | 
    
        metadata
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: vendorer
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
     | 
    
         
            -
              version: 0.1. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 0.1.9
         
     | 
| 
       5 
5 
     | 
    
         
             
              prerelease: 
         
     | 
| 
       6 
6 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       7 
7 
     | 
    
         
             
            authors:
         
     | 
| 
         @@ -9,7 +9,7 @@ authors: 
     | 
|
| 
       9 
9 
     | 
    
         
             
            autorequire: 
         
     | 
| 
       10 
10 
     | 
    
         
             
            bindir: bin
         
     | 
| 
       11 
11 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       12 
     | 
    
         
            -
            date: 2012-01- 
     | 
| 
      
 12 
     | 
    
         
            +
            date: 2012-01-12 00:00:00.000000000 Z
         
     | 
| 
       13 
13 
     | 
    
         
             
            dependencies: []
         
     | 
| 
       14 
14 
     | 
    
         
             
            description: 
         
     | 
| 
       15 
15 
     | 
    
         
             
            email: michael@grosser.it
         
     | 
| 
         @@ -44,7 +44,7 @@ required_ruby_version: !ruby/object:Gem::Requirement 
     | 
|
| 
       44 
44 
     | 
    
         
             
                  version: '0'
         
     | 
| 
       45 
45 
     | 
    
         
             
                  segments:
         
     | 
| 
       46 
46 
     | 
    
         
             
                  - 0
         
     | 
| 
       47 
     | 
    
         
            -
                  hash: - 
     | 
| 
      
 47 
     | 
    
         
            +
                  hash: -844902927
         
     | 
| 
       48 
48 
     | 
    
         
             
            required_rubygems_version: !ruby/object:Gem::Requirement
         
     | 
| 
       49 
49 
     | 
    
         
             
              none: false
         
     | 
| 
       50 
50 
     | 
    
         
             
              requirements:
         
     | 
| 
         @@ -53,7 +53,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement 
     | 
|
| 
       53 
53 
     | 
    
         
             
                  version: '0'
         
     | 
| 
       54 
54 
     | 
    
         
             
                  segments:
         
     | 
| 
       55 
55 
     | 
    
         
             
                  - 0
         
     | 
| 
       56 
     | 
    
         
            -
                  hash: - 
     | 
| 
      
 56 
     | 
    
         
            +
                  hash: -844902927
         
     | 
| 
       57 
57 
     | 
    
         
             
            requirements: []
         
     | 
| 
       58 
58 
     | 
    
         
             
            rubyforge_project: 
         
     | 
| 
       59 
59 
     | 
    
         
             
            rubygems_version: 1.8.10
         
     |