Sha256: 0730c0f82b43664118feaef6540064f5a4dce6e9487b6936539de39c3091a2e7

Contents?: true

Size: 1.78 KB

Versions: 11

Compression:

Stored size: 1.78 KB

Contents

require 'pathname'

module EY
  module Serverside
    class Adapter
      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'
      autoload :VERSION,                'engineyard-serverside-adapter/version'

      ENGINEYARD_SERVERSIDE_VERSION = ENV['ENGINEYARD_SERVERSIDE_VERSION'] || VERSION

      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

11 entries across 11 versions & 1 rubygems

Version Path
engineyard-serverside-adapter-1.7.0.pre lib/engineyard-serverside-adapter.rb
engineyard-serverside-adapter-1.6.4 lib/engineyard-serverside-adapter.rb
engineyard-serverside-adapter-1.6.4.pre6 lib/engineyard-serverside-adapter.rb
engineyard-serverside-adapter-1.6.4.pre5 lib/engineyard-serverside-adapter.rb
engineyard-serverside-adapter-1.6.4.pre4 lib/engineyard-serverside-adapter.rb
engineyard-serverside-adapter-1.6.4.pre3 lib/engineyard-serverside-adapter.rb
engineyard-serverside-adapter-1.6.4.pre2 lib/engineyard-serverside-adapter.rb
engineyard-serverside-adapter-1.6.4.pre lib/engineyard-serverside-adapter.rb
engineyard-serverside-adapter-1.6.3 lib/engineyard-serverside-adapter.rb
engineyard-serverside-adapter-1.5.35.pre.2 lib/engineyard-serverside-adapter.rb
engineyard-serverside-adapter-1.3.3 lib/engineyard-serverside-adapter.rb