Sha256: 94b1feffd44203aea8cc683062c6e9a62a16e3182ddbf48d792df8cb7f7e9ead

Contents?: true

Size: 1.67 KB

Versions: 5

Compression:

Stored size: 1.67 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 :DisableMaintenancePage, 'engineyard-serverside-adapter/disable_maintenance_page'
      autoload :EnableMaintenancePage,  'engineyard-serverside-adapter/enable_maintenance_page'
      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_page(&b)
        DisableMaintenancePage.new(new_action_args, &b)
      end

      def enable_maintenance_page(&b)
        EnableMaintenancePage.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

5 entries across 5 versions & 1 rubygems

Version Path
engineyard-serverside-adapter-2.0.0.pre4 lib/engineyard-serverside-adapter.rb
engineyard-serverside-adapter-2.0.0.pre3 lib/engineyard-serverside-adapter.rb
engineyard-serverside-adapter-2.0.0.pre2 lib/engineyard-serverside-adapter.rb
engineyard-serverside-adapter-2.0.0.pre1 lib/engineyard-serverside-adapter.rb
engineyard-serverside-adapter-1.7.0.pre2 lib/engineyard-serverside-adapter.rb