Sha256: 2612592fc60e17542c157406775abfcca2d3a866eebee65a9bd78297353c1c98

Contents?: true

Size: 1.31 KB

Versions: 5

Compression:

Stored size: 1.31 KB

Contents

##############################################################################
# File::    deploy_task.rb
# Purpose:: DeployTask definition
# 
# Author::    Jeff McAffee 03/19/2014
# Copyright:: Copyright (c) 2014, kTech Systems LLC. All rights reserved.
# Website::   http://ktechsystems.com
##############################################################################

require 'admin_module'
require 'rake/dsl_definition'
require 'rake'

module AdminModule::Rake

  class DeployTask
    include ::Rake::DSL if defined?(::Rake::DSL)

    attr_accessor :env
    attr_accessor :commit_msg
    attr_accessor :target

    def initialize(task_name = 'deploy', desc = 'Deploy guideline xml files')
      @task_name, @desc = task_name, desc

      yield self if block_given?

      define_task
    end

    def define_task #:nodoc:
      desc @desc
      task @task_name do
        deploy
      end
    end

    def files
      @files ||= []
    end

    def files=(file_list)
      @files ||= []
      @files += Array(file_list)
    end

    def deploy
      cli = AdminModule::CLI.new
      cli.environment = env
      if files.size == 1
        cli.deploy(files, target, commit_msg)
      else
        cli.deploy_files(files, commit_msg)
      end
    ensure
      cli.quit
    end
  end # class DeployTask
end # module AdminModule::Task

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
admin_module-0.1.8 lib/admin_module/rake/deploy_task.rb
admin_module-0.1.7 lib/admin_module/rake/deploy_task.rb
admin_module-0.1.6 lib/admin_module/rake/deploy_task.rb
admin_module-0.1.5 lib/admin_module/rake/deploy_task.rb
admin_module-0.1.4 lib/admin_module/rake/deploy_task.rb