Sha256: cd451ada36295da48919b4849d1e56b2b4ffe4b7e5df8d2b64c1ad0375b8f546

Contents?: true

Size: 1.48 KB

Versions: 14

Compression:

Stored size: 1.48 KB

Contents

require 'engineyard-serverside/cli/workflows/calling_deploy_hooks'
require 'engineyard-serverside/cli/workflows/deploying_applications'
require 'engineyard-serverside/cli/workflows/disabling_maintenance'
require 'engineyard-serverside/cli/workflows/enabling_maintenance'
require 'engineyard-serverside/cli/workflows/integrating_servers'
require 'engineyard-serverside/cli/workflows/restarting_applications'
require 'engineyard-serverside/cli/workflows/rolling_back_applications'
require 'engineyard-serverside/cli/workflows/showing_maintenance_status'

module EY
  module Serverside
    module CLI

      # Workflows is a collection of reified procedures that handle the
      # various requirements of our CLI app
      module Workflows
        DEFINED = {
          :deploy => DeployingApplications,
          :disable_maintenance => DisablingMaintenance,
          :enable_maintenance => EnablingMaintenance,
          :hook => CallingDeployHooks,
          :integrate => IntegratingServers,
          :maintenance_status => ShowingMaintenanceStatus,
          :restart => RestartingApplications,
          :rollback => RollingBackApplications
        }

        def self.perform(workflow, options = {})
          resolve(workflow).
            perform(options)
        end

        def self.resolve(workflow)
          (DEFINED[normalized(workflow)] || Base)
        end

        def self.normalized(workflow)
          return nil if workflow.nil?

          workflow.to_sym
        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/workflows.rb
engineyard-serverside-3.0.3 lib/engineyard-serverside/cli/workflows.rb
engineyard-serverside-2.8.0 lib/engineyard-serverside/cli/workflows.rb
engineyard-serverside-2.8.0.pre4 lib/engineyard-serverside/cli/workflows.rb
engineyard-serverside-2.8.0.pre3 lib/engineyard-serverside/cli/workflows.rb
engineyard-serverside-2.8.0.pre2 lib/engineyard-serverside/cli/workflows.rb
engineyard-serverside-2.8.0.pre lib/engineyard-serverside/cli/workflows.rb
engineyard-serverside-2.7.0.pre lib/engineyard-serverside/cli/workflows.rb
engineyard-serverside-2.6.19 lib/engineyard-serverside/cli/workflows.rb
engineyard-serverside-2.6.17 lib/engineyard-serverside/cli/workflows.rb
engineyard-serverside-2.6.16 lib/engineyard-serverside/cli/workflows.rb
engineyard-serverside-2.6.15.alpha1 lib/engineyard-serverside/cli/workflows.rb
engineyard-serverside-2.6.15.cf2 lib/engineyard-serverside/cli/workflows.rb
engineyard-serverside-2.6.15.pre lib/engineyard-serverside/cli/workflows.rb