Sha256: 0aa4c44e61c7f71fdd315670376ae0339c490a0632b577b91c3070f720e20d86

Contents?: true

Size: 1.82 KB

Versions: 3

Compression:

Stored size: 1.82 KB

Contents

module Context
  module DeployHelper
    def get_context_folder(context, folder)
      File.join(context.context_folder, folder)
    end

    def build_folder(context)
      get_context_folder(context, 'build')
    end
  
    def contexts_container(context)
      get_context_folder(context, 'contexts')
    end
    
    def chef_exec(commands)
      system("chef exec #{commands.join(' ')}")
    end
    
    def git(commands)
      chef_exec(['git'] + commands)
    end
    
    def gem(commands)
      chef_exec(['gem'] + commands)
    end
    
    def rake(commands)
      chef_exec(['rake'] + commands)
    end
    
    def cucumber(commands = [])
      chef_exec(['cucumber'] + commands)
    end

    def execute_action(context, action)
      state_action = if action.nil?
        context.cycle
        false
      else
        case action
        when 'once'
          puts "\nExecute only once\n"
          context.cycle
          false
        when 'always'
          puts "\nAlways in execution\n"
          while true do
            context.cycle
          end
          false
        when 'bump'
          puts "\nBump minor version\n"
          context.minor_bump
          false
        when 'release'
          puts "\nBump major version\n"
          context.major_bump
          false
        when 'test'
          puts "\nExecute tests\n"
          context.cucumber_test(context)
          false
        when 'reset'
          puts "\nReset versionning\n"
          system('rake')
          # context.cucumber_test(deployer)
          false
        else
          puts "Unknown setting #{action}"
          false
        end
      end
      if state_action
        puts "Action #{action} executed correctly in context #{context}"
      else
        abort!("Failed to execute action #{action} in context #{context}")
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
deploy-context-2.0.4 lib/deploy-context/context/deploy.rb
deploy-context-2.0.3 lib/deploy-context/context/deploy.rb
deploy-context-2.0.2.1.g00ce101 lib/deploy-context/context/deploy.rb