Sha256: 902285ecf379a1fe4762c3c754bca0478a2a81ef9041e0f53c193497cdafe7c5

Contents?: true

Size: 1.06 KB

Versions: 14

Compression:

Stored size: 1.06 KB

Contents

module EY
  module Serverside
    module CLI

      # ServerHashExtractor, given an options hash and a deploy configuration,
      # generates an array of hashes that can be used to instantiate Server
      # objects
      class ServerHashExtractor
        def self.hashes(options, config)
          new(options, config).hashes
        end

        attr_reader :options, :config

        def initialize(options, config)
          @options = options
          @config = config
        end

        def hashes
          return [] unless instances

          instances.collect {|hostname|
            {
              :hostname => hostname,
              :roles => instance_roles[hostname].to_s.split(','),
              :name => instance_names[hostname],
              :user => config.user
            }
          }
        end

        private
        def instances
          options[:instances]
        end

        def instance_roles
          options[:instance_roles]
        end

        def instance_names
          options[:instance_names]
        end

      end
    end
  end
end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
engineyard-serverside-3.0.4 lib/engineyard-serverside/cli/server_hash_extractor.rb
engineyard-serverside-3.0.3 lib/engineyard-serverside/cli/server_hash_extractor.rb
engineyard-serverside-2.8.0 lib/engineyard-serverside/cli/server_hash_extractor.rb
engineyard-serverside-2.8.0.pre4 lib/engineyard-serverside/cli/server_hash_extractor.rb
engineyard-serverside-2.8.0.pre3 lib/engineyard-serverside/cli/server_hash_extractor.rb
engineyard-serverside-2.8.0.pre2 lib/engineyard-serverside/cli/server_hash_extractor.rb
engineyard-serverside-2.8.0.pre lib/engineyard-serverside/cli/server_hash_extractor.rb
engineyard-serverside-2.7.0.pre lib/engineyard-serverside/cli/server_hash_extractor.rb
engineyard-serverside-2.6.19 lib/engineyard-serverside/cli/server_hash_extractor.rb
engineyard-serverside-2.6.17 lib/engineyard-serverside/cli/server_hash_extractor.rb
engineyard-serverside-2.6.16 lib/engineyard-serverside/cli/server_hash_extractor.rb
engineyard-serverside-2.6.15.alpha1 lib/engineyard-serverside/cli/server_hash_extractor.rb
engineyard-serverside-2.6.15.cf2 lib/engineyard-serverside/cli/server_hash_extractor.rb
engineyard-serverside-2.6.15.pre lib/engineyard-serverside/cli/server_hash_extractor.rb