Sha256: f8b25b8a2c20ac3b16e9c9e9c9779e63aca7dc0bb8f793d260c31bf260b54ab8

Contents?: true

Size: 1.64 KB

Versions: 9

Compression:

Stored size: 1.64 KB

Contents

require 'pathname'

module EY
  module Serverside
    class Adapter
      require 'engineyard-serverside-adapter/version'
      autoload :Action,                 'engineyard-serverside-adapter/action'
      autoload :Arguments,              'engineyard-serverside-adapter/arguments'
      autoload :Command,                'engineyard-serverside-adapter/command'
      autoload :Deploy,                 'engineyard-serverside-adapter/deploy'
      autoload :DisableMaintenance,     'engineyard-serverside-adapter/disable_maintenance'
      autoload :EnableMaintenance,      'engineyard-serverside-adapter/enable_maintenance'
      autoload :Integrate,              'engineyard-serverside-adapter/integrate'
      autoload :Restart,                'engineyard-serverside-adapter/restart'
      autoload :Rollback,               'engineyard-serverside-adapter/rollback'

      def initialize(gem_bin_path = "")
        @gem_bin_path = Pathname.new(gem_bin_path)
        @arguments    = Arguments.new

        yield @arguments if block_given?
      end

      def deploy(&b)
        Deploy.new(new_action_args, &b)
      end

      def disable_maintenance(&b)
        DisableMaintenance.new(new_action_args, &b)
      end

      def enable_maintenance(&b)
        EnableMaintenance.new(new_action_args, &b)
      end

      def integrate(&b)
        Integrate.new(new_action_args, &b)
      end

      def restart(&b)
        Restart.new(new_action_args, &b)
      end

      def rollback(&b)
        Rollback.new(new_action_args, &b)
      end

      private

      def new_action_args
        {:arguments => @arguments.dup, :gem_bin_path => @gem_bin_path}
      end

    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
engineyard-serverside-adapter-2.0.7 lib/engineyard-serverside-adapter.rb
engineyard-serverside-adapter-2.0.5 lib/engineyard-serverside-adapter.rb
engineyard-serverside-adapter-2.0.4 lib/engineyard-serverside-adapter.rb
engineyard-serverside-adapter-2.0.3 lib/engineyard-serverside-adapter.rb
engineyard-serverside-adapter-2.0.2 lib/engineyard-serverside-adapter.rb
engineyard-serverside-adapter-2.0.1 lib/engineyard-serverside-adapter.rb
engineyard-serverside-adapter-2.0.0 lib/engineyard-serverside-adapter.rb
engineyard-serverside-adapter-2.0.0.rc1 lib/engineyard-serverside-adapter.rb
engineyard-serverside-adapter-2.0.0.pre5 lib/engineyard-serverside-adapter.rb