dandelion 0.1.1 → 0.1.2
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/README.md +38 -0
 - data/lib/dandelion.rb +8 -2
 - data/lib/dandelion/deployment.rb +29 -13
 - data/lib/dandelion/version.rb +1 -1
 - metadata +5 -4
 
    
        data/README.md
    ADDED
    
    | 
         @@ -0,0 +1,38 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            dandelion
         
     | 
| 
      
 2 
     | 
    
         
            +
            =========
         
     | 
| 
      
 3 
     | 
    
         
            +
             
     | 
| 
      
 4 
     | 
    
         
            +
            Install
         
     | 
| 
      
 5 
     | 
    
         
            +
            -------
         
     | 
| 
      
 6 
     | 
    
         
            +
            Ensure that Ruby and RubyGems are installed, then run:
         
     | 
| 
      
 7 
     | 
    
         
            +
             
     | 
| 
      
 8 
     | 
    
         
            +
                $ gem install dandelion
         
     | 
| 
      
 9 
     | 
    
         
            +
                
         
     | 
| 
      
 10 
     | 
    
         
            +
            Alternatively, you can build the gem yourself:
         
     | 
| 
      
 11 
     | 
    
         
            +
             
     | 
| 
      
 12 
     | 
    
         
            +
                $ git clone git://github.com/scottbnel/dandelion.git
         
     | 
| 
      
 13 
     | 
    
         
            +
                $ cd dandelion
         
     | 
| 
      
 14 
     | 
    
         
            +
                $ rake install
         
     | 
| 
      
 15 
     | 
    
         
            +
                
         
     | 
| 
      
 16 
     | 
    
         
            +
            Usage
         
     | 
| 
      
 17 
     | 
    
         
            +
            -----
         
     | 
| 
      
 18 
     | 
    
         
            +
            Deployment options are specified in a YAML file.  By default, Dandelion looks for
         
     | 
| 
      
 19 
     | 
    
         
            +
            one named `dandelion.yml`, however, this can be overridden by passing a path as an
         
     | 
| 
      
 20 
     | 
    
         
            +
            argument.
         
     | 
| 
      
 21 
     | 
    
         
            +
             
     | 
| 
      
 22 
     | 
    
         
            +
                scheme: sftp
         
     | 
| 
      
 23 
     | 
    
         
            +
                host: example.com
         
     | 
| 
      
 24 
     | 
    
         
            +
                username: user
         
     | 
| 
      
 25 
     | 
    
         
            +
                password: pass
         
     | 
| 
      
 26 
     | 
    
         
            +
                path: path/to/deployment
         
     | 
| 
      
 27 
     | 
    
         
            +
                
         
     | 
| 
      
 28 
     | 
    
         
            +
                exclude:
         
     | 
| 
      
 29 
     | 
    
         
            +
                  - .gitignore
         
     | 
| 
      
 30 
     | 
    
         
            +
                  - dandelion.yml
         
     | 
| 
      
 31 
     | 
    
         
            +
                  
         
     | 
| 
      
 32 
     | 
    
         
            +
            To deploy the HEAD revision, ensure you are in the root of the repository and run:
         
     | 
| 
      
 33 
     | 
    
         
            +
             
     | 
| 
      
 34 
     | 
    
         
            +
                $ dandelion
         
     | 
| 
      
 35 
     | 
    
         
            +
                
         
     | 
| 
      
 36 
     | 
    
         
            +
            If the repository has previously been deployed then only the files that have
         
     | 
| 
      
 37 
     | 
    
         
            +
            changed since the last deployment will be transferred.  All files (except those
         
     | 
| 
      
 38 
     | 
    
         
            +
            excluded) will be transferred on first deployment.
         
     | 
    
        data/lib/dandelion.rb
    CHANGED
    
    | 
         @@ -9,9 +9,15 @@ module Dandelion 
     | 
|
| 
       9 
9 
     | 
    
         
             
                    puts 'Not a git repository: .git'
         
     | 
| 
       10 
10 
     | 
    
         
             
                    exit
         
     | 
| 
       11 
11 
     | 
    
         
             
                  end
         
     | 
| 
      
 12 
     | 
    
         
            +
                  
         
     | 
| 
      
 13 
     | 
    
         
            +
                  if ARGV[0]
         
     | 
| 
      
 14 
     | 
    
         
            +
                    config_file = ARGV[0].strip
         
     | 
| 
      
 15 
     | 
    
         
            +
                  else
         
     | 
| 
      
 16 
     | 
    
         
            +
                    config_file = 'dandelion.yml'
         
     | 
| 
      
 17 
     | 
    
         
            +
                  end
         
     | 
| 
       12 
18 
     | 
    
         | 
| 
       13 
     | 
    
         
            -
                  unless File.exists?  
     | 
| 
       14 
     | 
    
         
            -
                    puts  
     | 
| 
      
 19 
     | 
    
         
            +
                  unless File.exists? config_file
         
     | 
| 
      
 20 
     | 
    
         
            +
                    puts "Could not find file: #{config_file}"
         
     | 
| 
       15 
21 
     | 
    
         
             
                    exit
         
     | 
| 
       16 
22 
     | 
    
         
             
                  end
         
     | 
| 
       17 
23 
     | 
    
         | 
    
        data/lib/dandelion/deployment.rb
    CHANGED
    
    | 
         @@ -34,25 +34,41 @@ module Deployment 
     | 
|
| 
       34 
34 
     | 
    
         
             
                end
         
     | 
| 
       35 
35 
     | 
    
         | 
| 
       36 
36 
     | 
    
         
             
                def deploy
         
     | 
| 
       37 
     | 
    
         
            -
                  if remote_revision != local_revision
         
     | 
| 
       38 
     | 
    
         
            -
                     
     | 
| 
       39 
     | 
    
         
            -
             
     | 
| 
       40 
     | 
    
         
            -
                        puts "Uploading file: #{file}"
         
     | 
| 
       41 
     | 
    
         
            -
                        @service.write(file, @tree.show(file))
         
     | 
| 
       42 
     | 
    
         
            -
                      end
         
     | 
| 
       43 
     | 
    
         
            -
                    end
         
     | 
| 
       44 
     | 
    
         
            -
                    @diff.deleted.each do |file|
         
     | 
| 
       45 
     | 
    
         
            -
                      unless @exclude.include?(file)
         
     | 
| 
       46 
     | 
    
         
            -
                        puts "Deleting file: #{file}"
         
     | 
| 
       47 
     | 
    
         
            -
                        @service.delete(file)
         
     | 
| 
       48 
     | 
    
         
            -
                      end
         
     | 
| 
       49 
     | 
    
         
            -
                    end
         
     | 
| 
      
 37 
     | 
    
         
            +
                  if remote_revision != local_revision && any?
         
     | 
| 
      
 38 
     | 
    
         
            +
                    deploy_changed
         
     | 
| 
      
 39 
     | 
    
         
            +
                    deploy_deleted
         
     | 
| 
       50 
40 
     | 
    
         
             
                    write_revision
         
     | 
| 
       51 
41 
     | 
    
         
             
                  else
         
     | 
| 
       52 
42 
     | 
    
         
             
                    puts "Nothing to deploy"
         
     | 
| 
       53 
43 
     | 
    
         
             
                  end
         
     | 
| 
       54 
44 
     | 
    
         
             
                end
         
     | 
| 
       55 
45 
     | 
    
         | 
| 
      
 46 
     | 
    
         
            +
                def deploy_changed
         
     | 
| 
      
 47 
     | 
    
         
            +
                  @diff.changed.each do |file|
         
     | 
| 
      
 48 
     | 
    
         
            +
                    if @exclude.include?(file)
         
     | 
| 
      
 49 
     | 
    
         
            +
                      puts "Skipping file: #{file}"
         
     | 
| 
      
 50 
     | 
    
         
            +
                    else
         
     | 
| 
      
 51 
     | 
    
         
            +
                      puts "Uploading file: #{file}"
         
     | 
| 
      
 52 
     | 
    
         
            +
                      @service.write(file, @tree.show(file))
         
     | 
| 
      
 53 
     | 
    
         
            +
                    end
         
     | 
| 
      
 54 
     | 
    
         
            +
                  end
         
     | 
| 
      
 55 
     | 
    
         
            +
                end
         
     | 
| 
      
 56 
     | 
    
         
            +
                
         
     | 
| 
      
 57 
     | 
    
         
            +
                def deploy_deleted
         
     | 
| 
      
 58 
     | 
    
         
            +
                  @diff.deleted.each do |file|
         
     | 
| 
      
 59 
     | 
    
         
            +
                    if @exclude.include?(file)
         
     | 
| 
      
 60 
     | 
    
         
            +
                      puts "Skipping file: #{file}"
         
     | 
| 
      
 61 
     | 
    
         
            +
                    else
         
     | 
| 
      
 62 
     | 
    
         
            +
                      puts "Deleting file: #{file}"
         
     | 
| 
      
 63 
     | 
    
         
            +
                      @service.delete(file)
         
     | 
| 
      
 64 
     | 
    
         
            +
                    end
         
     | 
| 
      
 65 
     | 
    
         
            +
                  end
         
     | 
| 
      
 66 
     | 
    
         
            +
                end
         
     | 
| 
      
 67 
     | 
    
         
            +
                
         
     | 
| 
      
 68 
     | 
    
         
            +
                def any?
         
     | 
| 
      
 69 
     | 
    
         
            +
                  @diff.changed.any? || @diff.deleted.any?
         
     | 
| 
      
 70 
     | 
    
         
            +
                end
         
     | 
| 
      
 71 
     | 
    
         
            +
                
         
     | 
| 
       56 
72 
     | 
    
         
             
                private
         
     | 
| 
       57 
73 
     | 
    
         | 
| 
       58 
74 
     | 
    
         
             
                def read_revision
         
     | 
    
        data/lib/dandelion/version.rb
    CHANGED
    
    
    
        metadata
    CHANGED
    
    | 
         @@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version 
     | 
|
| 
       5 
5 
     | 
    
         
             
              segments: 
         
     | 
| 
       6 
6 
     | 
    
         
             
              - 0
         
     | 
| 
       7 
7 
     | 
    
         
             
              - 1
         
     | 
| 
       8 
     | 
    
         
            -
              -  
     | 
| 
       9 
     | 
    
         
            -
              version: 0.1. 
     | 
| 
      
 8 
     | 
    
         
            +
              - 2
         
     | 
| 
      
 9 
     | 
    
         
            +
              version: 0.1.2
         
     | 
| 
       10 
10 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       11 
11 
     | 
    
         
             
            authors: 
         
     | 
| 
       12 
12 
     | 
    
         
             
            - Scott Nelson
         
     | 
| 
         @@ -14,7 +14,7 @@ autorequire: 
     | 
|
| 
       14 
14 
     | 
    
         
             
            bindir: bin
         
     | 
| 
       15 
15 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       16 
16 
     | 
    
         | 
| 
       17 
     | 
    
         
            -
            date: 2011-01- 
     | 
| 
      
 17 
     | 
    
         
            +
            date: 2011-01-31 00:00:00 -05:00
         
     | 
| 
       18 
18 
     | 
    
         
             
            default_executable: 
         
     | 
| 
       19 
19 
     | 
    
         
             
            dependencies: 
         
     | 
| 
       20 
20 
     | 
    
         
             
            - !ruby/object:Gem::Dependency 
         
     | 
| 
         @@ -59,6 +59,7 @@ extra_rdoc_files: [] 
     | 
|
| 
       59 
59 
     | 
    
         
             
            files: 
         
     | 
| 
       60 
60 
     | 
    
         
             
            - .gitignore
         
     | 
| 
       61 
61 
     | 
    
         
             
            - Gemfile
         
     | 
| 
      
 62 
     | 
    
         
            +
            - README.md
         
     | 
| 
       62 
63 
     | 
    
         
             
            - Rakefile
         
     | 
| 
       63 
64 
     | 
    
         
             
            - bin/dandelion
         
     | 
| 
       64 
65 
     | 
    
         
             
            - dandelion.gemspec
         
     | 
| 
         @@ -98,6 +99,6 @@ rubyforge_project: 
     | 
|
| 
       98 
99 
     | 
    
         
             
            rubygems_version: 1.3.7
         
     | 
| 
       99 
100 
     | 
    
         
             
            signing_key: 
         
     | 
| 
       100 
101 
     | 
    
         
             
            specification_version: 3
         
     | 
| 
       101 
     | 
    
         
            -
            summary: dandelion-0.1. 
     | 
| 
      
 102 
     | 
    
         
            +
            summary: dandelion-0.1.2
         
     | 
| 
       102 
103 
     | 
    
         
             
            test_files: []
         
     | 
| 
       103 
104 
     | 
    
         |