hubcap 0.0.1
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/Capfile.example +37 -0
 - data/README.md +168 -0
 - data/Rakefile +10 -0
 - data/bin/hubcap +98 -0
 - data/hubcap.gemspec +17 -0
 - data/lib/hubcap/application.rb +24 -0
 - data/lib/hubcap/group.rb +223 -0
 - data/lib/hubcap/hub.rb +125 -0
 - data/lib/hubcap/recipes/puppet.rb +176 -0
 - data/lib/hubcap/recipes/servers.rb +21 -0
 - data/lib/hubcap/server.rb +46 -0
 - data/lib/hubcap/version.rb +5 -0
 - data/lib/hubcap.rb +29 -0
 - data/test/data/example.rb +68 -0
 - data/test/data/parts/foo_param.rb +1 -0
 - data/test/data/readme.rb +47 -0
 - data/test/data/simple.rb +4 -0
 - data/test/test_helper.rb +2 -0
 - data/test/unit/test_application.rb +20 -0
 - data/test/unit/test_group.rb +176 -0
 - data/test/unit/test_hub.rb +104 -0
 - data/test/unit/test_hubcap.rb +39 -0
 - data/test/unit/test_server.rb +69 -0
 - metadata +94 -0
 
| 
         @@ -0,0 +1,104 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            require 'test_helper'
         
     | 
| 
      
 2 
     | 
    
         
            +
            require 'rubygems'
         
     | 
| 
      
 3 
     | 
    
         
            +
            require 'capistrano'
         
     | 
| 
      
 4 
     | 
    
         
            +
             
     | 
| 
      
 5 
     | 
    
         
            +
            class Hubcap::TestHub < Test::Unit::TestCase
         
     | 
| 
      
 6 
     | 
    
         
            +
             
     | 
| 
      
 7 
     | 
    
         
            +
              def test_hub
         
     | 
| 
      
 8 
     | 
    
         
            +
                hub = Hubcap.hub { application('example') }
         
     | 
| 
      
 9 
     | 
    
         
            +
                assert_equal(hub, hub.hub)
         
     | 
| 
      
 10 
     | 
    
         
            +
              end
         
     | 
| 
      
 11 
     | 
    
         
            +
             
     | 
| 
      
 12 
     | 
    
         
            +
             
     | 
| 
      
 13 
     | 
    
         
            +
              def test_history
         
     | 
| 
      
 14 
     | 
    
         
            +
                hub = Hubcap.hub { application('example') }
         
     | 
| 
      
 15 
     | 
    
         
            +
                assert_equal([], hub.history)
         
     | 
| 
      
 16 
     | 
    
         
            +
              end
         
     | 
| 
      
 17 
     | 
    
         
            +
             
     | 
| 
      
 18 
     | 
    
         
            +
             
     | 
| 
      
 19 
     | 
    
         
            +
              def test_configure_capistrano_in_agnostic_mode
         
     | 
| 
      
 20 
     | 
    
         
            +
                hub = Hubcap.hub {
         
     | 
| 
      
 21 
     | 
    
         
            +
                  application('a') {
         
     | 
| 
      
 22 
     | 
    
         
            +
                    group('g') {
         
     | 
| 
      
 23 
     | 
    
         
            +
                      role(:baseline)
         
     | 
| 
      
 24 
     | 
    
         
            +
                      server('s') { role(:everything) }
         
     | 
| 
      
 25 
     | 
    
         
            +
                    }
         
     | 
| 
      
 26 
     | 
    
         
            +
                  }
         
     | 
| 
      
 27 
     | 
    
         
            +
                }
         
     | 
| 
      
 28 
     | 
    
         
            +
             
     | 
| 
      
 29 
     | 
    
         
            +
                cap = Capistrano::Configuration.new
         
     | 
| 
      
 30 
     | 
    
         
            +
                cap.set(:hubcap_agnostic, true)
         
     | 
| 
      
 31 
     | 
    
         
            +
                hub.configure_capistrano(cap)
         
     | 
| 
      
 32 
     | 
    
         
            +
             
     | 
| 
      
 33 
     | 
    
         
            +
                assert_equal(hub, cap.hubcap)
         
     | 
| 
      
 34 
     | 
    
         
            +
                assert_not_nil(cap.find_task('servers:list'))
         
     | 
| 
      
 35 
     | 
    
         
            +
                assert_not_nil(cap.find_task('puppet:check'))
         
     | 
| 
      
 36 
     | 
    
         
            +
                assert_nil(cap.find_task('deploy:setup'))
         
     | 
| 
      
 37 
     | 
    
         
            +
                assert_equal('s', cap.roles[:baseline].servers.first.host)
         
     | 
| 
      
 38 
     | 
    
         
            +
                assert_equal('s', cap.roles[:everything].servers.first.host)
         
     | 
| 
      
 39 
     | 
    
         
            +
              end
         
     | 
| 
      
 40 
     | 
    
         
            +
             
     | 
| 
      
 41 
     | 
    
         
            +
             
     | 
| 
      
 42 
     | 
    
         
            +
              def test_configure_capistrano_in_application_mode
         
     | 
| 
      
 43 
     | 
    
         
            +
                hub = Hubcap.hub {
         
     | 
| 
      
 44 
     | 
    
         
            +
                  application('a', :recipes => 'deploy') {
         
     | 
| 
      
 45 
     | 
    
         
            +
                    group('g') {
         
     | 
| 
      
 46 
     | 
    
         
            +
                      cap_set(:branch, 'deploy')
         
     | 
| 
      
 47 
     | 
    
         
            +
                      role(:baseline)
         
     | 
| 
      
 48 
     | 
    
         
            +
                      server('s') { role(:everything) }
         
     | 
| 
      
 49 
     | 
    
         
            +
                    }
         
     | 
| 
      
 50 
     | 
    
         
            +
                  }
         
     | 
| 
      
 51 
     | 
    
         
            +
                }
         
     | 
| 
      
 52 
     | 
    
         
            +
             
     | 
| 
      
 53 
     | 
    
         
            +
                cap = Capistrano::Configuration.new
         
     | 
| 
      
 54 
     | 
    
         
            +
                cap.set(:hubcap_agnostic, false)
         
     | 
| 
      
 55 
     | 
    
         
            +
                hub.configure_capistrano(cap)
         
     | 
| 
      
 56 
     | 
    
         
            +
             
     | 
| 
      
 57 
     | 
    
         
            +
                assert_equal('deploy', cap.branch)
         
     | 
| 
      
 58 
     | 
    
         
            +
                assert_not_nil(cap.find_task('deploy:setup'))
         
     | 
| 
      
 59 
     | 
    
         
            +
              end
         
     | 
| 
      
 60 
     | 
    
         
            +
             
     | 
| 
      
 61 
     | 
    
         
            +
             
     | 
| 
      
 62 
     | 
    
         
            +
              def test_configure_capistrano_in_application_mode_with_two_applications
         
     | 
| 
      
 63 
     | 
    
         
            +
                hub = Hubcap.hub {
         
     | 
| 
      
 64 
     | 
    
         
            +
                  role(:baseline)
         
     | 
| 
      
 65 
     | 
    
         
            +
                  application('a1') { server('s1') }
         
     | 
| 
      
 66 
     | 
    
         
            +
                  application('a2') { server('s2') }
         
     | 
| 
      
 67 
     | 
    
         
            +
                }
         
     | 
| 
      
 68 
     | 
    
         
            +
             
     | 
| 
      
 69 
     | 
    
         
            +
                cap = Capistrano::Configuration.new
         
     | 
| 
      
 70 
     | 
    
         
            +
                cap.set(:hubcap_agnostic, false)
         
     | 
| 
      
 71 
     | 
    
         
            +
                assert_raises(Hubcap::ApplicationModeError::TooManyApplications) {
         
     | 
| 
      
 72 
     | 
    
         
            +
                  hub.configure_capistrano(cap)
         
     | 
| 
      
 73 
     | 
    
         
            +
                }
         
     | 
| 
      
 74 
     | 
    
         
            +
              end
         
     | 
| 
      
 75 
     | 
    
         
            +
             
     | 
| 
      
 76 
     | 
    
         
            +
             
     | 
| 
      
 77 
     | 
    
         
            +
              def test_configure_capistrano_in_application_mode_with_no_applications
         
     | 
| 
      
 78 
     | 
    
         
            +
                hub = Hubcap.hub { server('s1') { role(:baseline) } }
         
     | 
| 
      
 79 
     | 
    
         
            +
             
     | 
| 
      
 80 
     | 
    
         
            +
                cap = Capistrano::Configuration.new
         
     | 
| 
      
 81 
     | 
    
         
            +
                cap.set(:hubcap_agnostic, false)
         
     | 
| 
      
 82 
     | 
    
         
            +
                assert_raises(Hubcap::ApplicationModeError::NoApplications) {
         
     | 
| 
      
 83 
     | 
    
         
            +
                  hub.configure_capistrano(cap)
         
     | 
| 
      
 84 
     | 
    
         
            +
                }
         
     | 
| 
      
 85 
     | 
    
         
            +
              end
         
     | 
| 
      
 86 
     | 
    
         
            +
             
     | 
| 
      
 87 
     | 
    
         
            +
             
     | 
| 
      
 88 
     | 
    
         
            +
              def test_configure_capistrano_in_application_mode_with_no_applications
         
     | 
| 
      
 89 
     | 
    
         
            +
                hub = Hubcap.hub {
         
     | 
| 
      
 90 
     | 
    
         
            +
                  cap_set(:foo => 'bar')
         
     | 
| 
      
 91 
     | 
    
         
            +
                  server('s1') {
         
     | 
| 
      
 92 
     | 
    
         
            +
                    cap_set(:foo => 'baz')
         
     | 
| 
      
 93 
     | 
    
         
            +
                    role(:baseline)
         
     | 
| 
      
 94 
     | 
    
         
            +
                  }
         
     | 
| 
      
 95 
     | 
    
         
            +
                }
         
     | 
| 
      
 96 
     | 
    
         
            +
             
     | 
| 
      
 97 
     | 
    
         
            +
                cap = Capistrano::Configuration.new
         
     | 
| 
      
 98 
     | 
    
         
            +
                cap.set(:hubcap_agnostic, false)
         
     | 
| 
      
 99 
     | 
    
         
            +
                assert_raises(Hubcap::ApplicationModeError::DuplicateSets) {
         
     | 
| 
      
 100 
     | 
    
         
            +
                  hub.configure_capistrano(cap)
         
     | 
| 
      
 101 
     | 
    
         
            +
                }
         
     | 
| 
      
 102 
     | 
    
         
            +
              end
         
     | 
| 
      
 103 
     | 
    
         
            +
             
     | 
| 
      
 104 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -0,0 +1,39 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            require 'test_helper'
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            class Hubcap::TestHubcap < Test::Unit::TestCase
         
     | 
| 
      
 4 
     | 
    
         
            +
             
     | 
| 
      
 5 
     | 
    
         
            +
              def test_hub
         
     | 
| 
      
 6 
     | 
    
         
            +
                hub = Hubcap.hub('group2') {
         
     | 
| 
      
 7 
     | 
    
         
            +
                  role(:baseline)
         
     | 
| 
      
 8 
     | 
    
         
            +
                  group('group1') { server('serverA') }
         
     | 
| 
      
 9 
     | 
    
         
            +
                  group('group2') { server('serverB') }
         
     | 
| 
      
 10 
     | 
    
         
            +
                  group('group3') { server('serverC') }
         
     | 
| 
      
 11 
     | 
    
         
            +
                }
         
     | 
| 
      
 12 
     | 
    
         
            +
                assert_equal(1, hub.servers.length)
         
     | 
| 
      
 13 
     | 
    
         
            +
                assert_equal('serverB', hub.servers.last.name)
         
     | 
| 
      
 14 
     | 
    
         
            +
                assert_equal([:baseline], hub.servers.first.cap_roles)
         
     | 
| 
      
 15 
     | 
    
         
            +
              end
         
     | 
| 
      
 16 
     | 
    
         
            +
             
     | 
| 
      
 17 
     | 
    
         
            +
             
     | 
| 
      
 18 
     | 
    
         
            +
              def test_load
         
     | 
| 
      
 19 
     | 
    
         
            +
                # Fully specified path to a single file.
         
     | 
| 
      
 20 
     | 
    
         
            +
                hub = Hubcap.load('', 'test/data/simple.rb')
         
     | 
| 
      
 21 
     | 
    
         
            +
                assert_equal('simple', hub.groups.first.name)
         
     | 
| 
      
 22 
     | 
    
         
            +
                assert_equal('localhost', hub.servers.last.name)
         
     | 
| 
      
 23 
     | 
    
         
            +
             
     | 
| 
      
 24 
     | 
    
         
            +
                # You can omit the .rb
         
     | 
| 
      
 25 
     | 
    
         
            +
                hub = Hubcap.load('', 'test/data/simple')
         
     | 
| 
      
 26 
     | 
    
         
            +
                assert_equal(1, hub.groups.length)
         
     | 
| 
      
 27 
     | 
    
         
            +
             
     | 
| 
      
 28 
     | 
    
         
            +
                # You can load multiple files.
         
     | 
| 
      
 29 
     | 
    
         
            +
                hub = Hubcap.load('', 'test/data/simple', 'test/data/example')
         
     | 
| 
      
 30 
     | 
    
         
            +
                assert_equal(6, hub.groups.length)
         
     | 
| 
      
 31 
     | 
    
         
            +
             
     | 
| 
      
 32 
     | 
    
         
            +
                # You can load a directory (or directories).
         
     | 
| 
      
 33 
     | 
    
         
            +
                hub = Hubcap.load('', 'test/data')
         
     | 
| 
      
 34 
     | 
    
         
            +
                assert_equal(11, hub.groups.length)
         
     | 
| 
      
 35 
     | 
    
         
            +
                # ..but note that Hubcap doesn't recurse into subdirectories:
         
     | 
| 
      
 36 
     | 
    
         
            +
                assert_equal(nil, hub.params[:foo])
         
     | 
| 
      
 37 
     | 
    
         
            +
              end
         
     | 
| 
      
 38 
     | 
    
         
            +
             
     | 
| 
      
 39 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -0,0 +1,69 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            require 'test_helper'
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            class Hubcap::TestServer < Test::Unit::TestCase
         
     | 
| 
      
 4 
     | 
    
         
            +
             
     | 
| 
      
 5 
     | 
    
         
            +
              def test_address
         
     | 
| 
      
 6 
     | 
    
         
            +
                hub = Hubcap.hub { server('test') }
         
     | 
| 
      
 7 
     | 
    
         
            +
                assert_equal('test', hub.servers.first.address)
         
     | 
| 
      
 8 
     | 
    
         
            +
                hub = Hubcap.hub { server('test', :address => 'test.example.com') }
         
     | 
| 
      
 9 
     | 
    
         
            +
                assert_equal('test.example.com', hub.servers.first.address)
         
     | 
| 
      
 10 
     | 
    
         
            +
              end
         
     | 
| 
      
 11 
     | 
    
         
            +
             
     | 
| 
      
 12 
     | 
    
         
            +
             
     | 
| 
      
 13 
     | 
    
         
            +
              def test_subgroups_disallowed
         
     | 
| 
      
 14 
     | 
    
         
            +
                assert_raises(Hubcap::ServerSubgroupDisallowed) {
         
     | 
| 
      
 15 
     | 
    
         
            +
                  Hubcap.hub { server('test') { application('child') } }
         
     | 
| 
      
 16 
     | 
    
         
            +
                }
         
     | 
| 
      
 17 
     | 
    
         
            +
                assert_raises(Hubcap::ServerSubgroupDisallowed) {
         
     | 
| 
      
 18 
     | 
    
         
            +
                  Hubcap.hub { server('test') { server('child') } }
         
     | 
| 
      
 19 
     | 
    
         
            +
                }
         
     | 
| 
      
 20 
     | 
    
         
            +
                assert_raises(Hubcap::ServerSubgroupDisallowed) {
         
     | 
| 
      
 21 
     | 
    
         
            +
                  Hubcap.hub { server('test') { group('child') } }
         
     | 
| 
      
 22 
     | 
    
         
            +
                }
         
     | 
| 
      
 23 
     | 
    
         
            +
              end
         
     | 
| 
      
 24 
     | 
    
         
            +
             
     | 
| 
      
 25 
     | 
    
         
            +
             
     | 
| 
      
 26 
     | 
    
         
            +
              def test_application_parent
         
     | 
| 
      
 27 
     | 
    
         
            +
                # No application
         
     | 
| 
      
 28 
     | 
    
         
            +
                hub = Hubcap.hub { server('test') }
         
     | 
| 
      
 29 
     | 
    
         
            +
                assert_equal(nil, hub.servers.first.application_parent)
         
     | 
| 
      
 30 
     | 
    
         
            +
             
     | 
| 
      
 31 
     | 
    
         
            +
                # Direct inheritance
         
     | 
| 
      
 32 
     | 
    
         
            +
                hub = Hubcap.hub {
         
     | 
| 
      
 33 
     | 
    
         
            +
                  application('foo') { server('test') }
         
     | 
| 
      
 34 
     | 
    
         
            +
                  application('bar')
         
     | 
| 
      
 35 
     | 
    
         
            +
                }
         
     | 
| 
      
 36 
     | 
    
         
            +
                assert_equal('foo', hub.servers.first.application_parent.name)
         
     | 
| 
      
 37 
     | 
    
         
            +
             
     | 
| 
      
 38 
     | 
    
         
            +
                # Grandparent in a complex structure
         
     | 
| 
      
 39 
     | 
    
         
            +
                hub = Hubcap.hub {
         
     | 
| 
      
 40 
     | 
    
         
            +
                  group('everything') {
         
     | 
| 
      
 41 
     | 
    
         
            +
                    application('baz') {
         
     | 
| 
      
 42 
     | 
    
         
            +
                      group('g1') {
         
     | 
| 
      
 43 
     | 
    
         
            +
                        server('test')
         
     | 
| 
      
 44 
     | 
    
         
            +
                      }
         
     | 
| 
      
 45 
     | 
    
         
            +
                    }
         
     | 
| 
      
 46 
     | 
    
         
            +
                  }
         
     | 
| 
      
 47 
     | 
    
         
            +
                }
         
     | 
| 
      
 48 
     | 
    
         
            +
                assert_equal('baz', hub.servers.first.application_parent.name)
         
     | 
| 
      
 49 
     | 
    
         
            +
              end
         
     | 
| 
      
 50 
     | 
    
         
            +
             
     | 
| 
      
 51 
     | 
    
         
            +
             
     | 
| 
      
 52 
     | 
    
         
            +
              def test_yaml
         
     | 
| 
      
 53 
     | 
    
         
            +
                hub = Hubcap.hub {
         
     | 
| 
      
 54 
     | 
    
         
            +
                  group('everything') {
         
     | 
| 
      
 55 
     | 
    
         
            +
                    role('baseline')
         
     | 
| 
      
 56 
     | 
    
         
            +
                    server('test') {
         
     | 
| 
      
 57 
     | 
    
         
            +
                      role('test::server')
         
     | 
| 
      
 58 
     | 
    
         
            +
                      param('foo' => 1, 'bar' => 2)
         
     | 
| 
      
 59 
     | 
    
         
            +
                    }
         
     | 
| 
      
 60 
     | 
    
         
            +
                  }
         
     | 
| 
      
 61 
     | 
    
         
            +
                }
         
     | 
| 
      
 62 
     | 
    
         
            +
                hash = YAML.load(hub.servers.first.yaml)
         
     | 
| 
      
 63 
     | 
    
         
            +
                assert_equal(['baseline', 'test::server'], hash['classes'])
         
     | 
| 
      
 64 
     | 
    
         
            +
                assert_equal(['classes', 'parameters'], hash.keys.sort)
         
     | 
| 
      
 65 
     | 
    
         
            +
                assert_equal(['bar', 'foo'], hash['parameters'].keys.sort)
         
     | 
| 
      
 66 
     | 
    
         
            +
                assert_equal([1, 2], hash['parameters'].values.sort)
         
     | 
| 
      
 67 
     | 
    
         
            +
              end
         
     | 
| 
      
 68 
     | 
    
         
            +
             
     | 
| 
      
 69 
     | 
    
         
            +
            end
         
     | 
    
        metadata
    ADDED
    
    | 
         @@ -0,0 +1,94 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            --- !ruby/object:Gem::Specification 
         
     | 
| 
      
 2 
     | 
    
         
            +
            name: hubcap
         
     | 
| 
      
 3 
     | 
    
         
            +
            version: !ruby/object:Gem::Version 
         
     | 
| 
      
 4 
     | 
    
         
            +
              prerelease: false
         
     | 
| 
      
 5 
     | 
    
         
            +
              segments: 
         
     | 
| 
      
 6 
     | 
    
         
            +
              - 0
         
     | 
| 
      
 7 
     | 
    
         
            +
              - 0
         
     | 
| 
      
 8 
     | 
    
         
            +
              - 1
         
     | 
| 
      
 9 
     | 
    
         
            +
              version: 0.0.1
         
     | 
| 
      
 10 
     | 
    
         
            +
            platform: ruby
         
     | 
| 
      
 11 
     | 
    
         
            +
            authors: 
         
     | 
| 
      
 12 
     | 
    
         
            +
            - Joseph Pearson
         
     | 
| 
      
 13 
     | 
    
         
            +
            autorequire: 
         
     | 
| 
      
 14 
     | 
    
         
            +
            bindir: bin
         
     | 
| 
      
 15 
     | 
    
         
            +
            cert_chain: []
         
     | 
| 
      
 16 
     | 
    
         
            +
             
     | 
| 
      
 17 
     | 
    
         
            +
            date: 2012-09-20 00:00:00 +10:00
         
     | 
| 
      
 18 
     | 
    
         
            +
            default_executable: 
         
     | 
| 
      
 19 
     | 
    
         
            +
            dependencies: []
         
     | 
| 
      
 20 
     | 
    
         
            +
             
     | 
| 
      
 21 
     | 
    
         
            +
            description: Unite Capistrano and Puppet config in one Ruby file.
         
     | 
| 
      
 22 
     | 
    
         
            +
            email: 
         
     | 
| 
      
 23 
     | 
    
         
            +
            - joseph@booki.sh
         
     | 
| 
      
 24 
     | 
    
         
            +
            executables: 
         
     | 
| 
      
 25 
     | 
    
         
            +
            - hubcap
         
     | 
| 
      
 26 
     | 
    
         
            +
            extensions: []
         
     | 
| 
      
 27 
     | 
    
         
            +
             
     | 
| 
      
 28 
     | 
    
         
            +
            extra_rdoc_files: []
         
     | 
| 
      
 29 
     | 
    
         
            +
             
     | 
| 
      
 30 
     | 
    
         
            +
            files: 
         
     | 
| 
      
 31 
     | 
    
         
            +
            - Capfile.example
         
     | 
| 
      
 32 
     | 
    
         
            +
            - README.md
         
     | 
| 
      
 33 
     | 
    
         
            +
            - Rakefile
         
     | 
| 
      
 34 
     | 
    
         
            +
            - bin/hubcap
         
     | 
| 
      
 35 
     | 
    
         
            +
            - hubcap.gemspec
         
     | 
| 
      
 36 
     | 
    
         
            +
            - lib/hubcap.rb
         
     | 
| 
      
 37 
     | 
    
         
            +
            - lib/hubcap/application.rb
         
     | 
| 
      
 38 
     | 
    
         
            +
            - lib/hubcap/group.rb
         
     | 
| 
      
 39 
     | 
    
         
            +
            - lib/hubcap/hub.rb
         
     | 
| 
      
 40 
     | 
    
         
            +
            - lib/hubcap/recipes/puppet.rb
         
     | 
| 
      
 41 
     | 
    
         
            +
            - lib/hubcap/recipes/servers.rb
         
     | 
| 
      
 42 
     | 
    
         
            +
            - lib/hubcap/server.rb
         
     | 
| 
      
 43 
     | 
    
         
            +
            - lib/hubcap/version.rb
         
     | 
| 
      
 44 
     | 
    
         
            +
            - test/data/example.rb
         
     | 
| 
      
 45 
     | 
    
         
            +
            - test/data/parts/foo_param.rb
         
     | 
| 
      
 46 
     | 
    
         
            +
            - test/data/readme.rb
         
     | 
| 
      
 47 
     | 
    
         
            +
            - test/data/simple.rb
         
     | 
| 
      
 48 
     | 
    
         
            +
            - test/test_helper.rb
         
     | 
| 
      
 49 
     | 
    
         
            +
            - test/unit/test_application.rb
         
     | 
| 
      
 50 
     | 
    
         
            +
            - test/unit/test_group.rb
         
     | 
| 
      
 51 
     | 
    
         
            +
            - test/unit/test_hub.rb
         
     | 
| 
      
 52 
     | 
    
         
            +
            - test/unit/test_hubcap.rb
         
     | 
| 
      
 53 
     | 
    
         
            +
            - test/unit/test_server.rb
         
     | 
| 
      
 54 
     | 
    
         
            +
            has_rdoc: true
         
     | 
| 
      
 55 
     | 
    
         
            +
            homepage: ""
         
     | 
| 
      
 56 
     | 
    
         
            +
            licenses: []
         
     | 
| 
      
 57 
     | 
    
         
            +
             
     | 
| 
      
 58 
     | 
    
         
            +
            post_install_message: 
         
     | 
| 
      
 59 
     | 
    
         
            +
            rdoc_options: []
         
     | 
| 
      
 60 
     | 
    
         
            +
             
     | 
| 
      
 61 
     | 
    
         
            +
            require_paths: 
         
     | 
| 
      
 62 
     | 
    
         
            +
            - lib
         
     | 
| 
      
 63 
     | 
    
         
            +
            required_ruby_version: !ruby/object:Gem::Requirement 
         
     | 
| 
      
 64 
     | 
    
         
            +
              requirements: 
         
     | 
| 
      
 65 
     | 
    
         
            +
              - - ">="
         
     | 
| 
      
 66 
     | 
    
         
            +
                - !ruby/object:Gem::Version 
         
     | 
| 
      
 67 
     | 
    
         
            +
                  segments: 
         
     | 
| 
      
 68 
     | 
    
         
            +
                  - 0
         
     | 
| 
      
 69 
     | 
    
         
            +
                  version: "0"
         
     | 
| 
      
 70 
     | 
    
         
            +
            required_rubygems_version: !ruby/object:Gem::Requirement 
         
     | 
| 
      
 71 
     | 
    
         
            +
              requirements: 
         
     | 
| 
      
 72 
     | 
    
         
            +
              - - ">="
         
     | 
| 
      
 73 
     | 
    
         
            +
                - !ruby/object:Gem::Version 
         
     | 
| 
      
 74 
     | 
    
         
            +
                  segments: 
         
     | 
| 
      
 75 
     | 
    
         
            +
                  - 0
         
     | 
| 
      
 76 
     | 
    
         
            +
                  version: "0"
         
     | 
| 
      
 77 
     | 
    
         
            +
            requirements: []
         
     | 
| 
      
 78 
     | 
    
         
            +
             
     | 
| 
      
 79 
     | 
    
         
            +
            rubyforge_project: 
         
     | 
| 
      
 80 
     | 
    
         
            +
            rubygems_version: 1.3.6
         
     | 
| 
      
 81 
     | 
    
         
            +
            signing_key: 
         
     | 
| 
      
 82 
     | 
    
         
            +
            specification_version: 3
         
     | 
| 
      
 83 
     | 
    
         
            +
            summary: Hubcap Capistrano/Puppet extension
         
     | 
| 
      
 84 
     | 
    
         
            +
            test_files: 
         
     | 
| 
      
 85 
     | 
    
         
            +
            - test/data/example.rb
         
     | 
| 
      
 86 
     | 
    
         
            +
            - test/data/parts/foo_param.rb
         
     | 
| 
      
 87 
     | 
    
         
            +
            - test/data/readme.rb
         
     | 
| 
      
 88 
     | 
    
         
            +
            - test/data/simple.rb
         
     | 
| 
      
 89 
     | 
    
         
            +
            - test/test_helper.rb
         
     | 
| 
      
 90 
     | 
    
         
            +
            - test/unit/test_application.rb
         
     | 
| 
      
 91 
     | 
    
         
            +
            - test/unit/test_group.rb
         
     | 
| 
      
 92 
     | 
    
         
            +
            - test/unit/test_hub.rb
         
     | 
| 
      
 93 
     | 
    
         
            +
            - test/unit/test_hubcap.rb
         
     | 
| 
      
 94 
     | 
    
         
            +
            - test/unit/test_server.rb
         
     |