class AdminModule::Rake::GdlTasks
Attributes
action[R]
comments[RW]
env[RW]
name[RW]
path[RW]
stop_on_exception[R]
valid_actions[R]
Public Class Methods
install()
click to toggle source
# File lib/admin_module/rake/gdl_tasks.rb, line 170 def install new.install end
new(task_name = 'gdls_task', desc = "Modify a gdl or gdls") { |self| ... }
click to toggle source
# File lib/admin_module/rake/gdl_tasks.rb, line 27 def initialize(task_name = 'gdls_task', desc = "Modify a gdl or gdls") @valid_actions = ['deploy', 'version'] @task_name, @desc = task_name, desc @stop_on_exception = true yield self if block_given? define_task end
Public Instance Methods
action=(task_action)
click to toggle source
# File lib/admin_module/rake/gdl_tasks.rb, line 54 def action=(task_action) raise "action must be one of #{valid_types.join(', ')}" unless valid_actions.include?(task_action.downcase) @action = task_action end
assert_env_is_configured(arg)
click to toggle source
# File lib/admin_module/rake/gdl_tasks.rb, line 138 def assert_env_is_configured arg unless AdminModule.configuration.credentials.key? arg init_msg = "Have you initialized your config file?\n Try: admin_module config init <filedir>" env_msg = "Have you configured your environments?\n Try: admin_module config add env <envname> <url>" raise "Unknown environment: #{arg}\n#{init_msg}\n\n#{env_msg}" end end
assert_provided(value, msg)
click to toggle source
# File lib/admin_module/rake/gdl_tasks.rb, line 132 def assert_provided value, msg if value.nil? || value.empty? raise msg end end
commit()
click to toggle source
# File lib/admin_module/rake/gdl_tasks.rb, line 64 def commit validate_params client = AdminModule::Client.new client.env = env if self.respond_to? action self.send(action, client) return else raise "Unknown action - #{action}" end rescue Exception => e raise e if stop_on_exception == true ensure client.quit unless client.nil? end
default_params()
click to toggle source
# File lib/admin_module/rake/gdl_tasks.rb, line 96 def default_params if comments.nil? || comments.empty? self.comments = AdminModule.configuration.default_comment unless comments.nil? || comments.empty? $stdout << "Using default comment - #{comments}\n" end end if path.nil? || path.empty? build_dir = Pathname('build') if build_dir.exist? && build_dir.directory? # Must be an absolute path: self.path = build_dir.expand_path.to_s $stdout << "Using default path - #{path}\n" end end end
deploy(client)
click to toggle source
# File lib/admin_module/rake/gdl_tasks.rb, line 83 def deploy client real_path = Pathname(path) if real_path.directory? client.guideline.deploy(path, comments) else client.guideline.deploy_file(path, comments) end end
install()
click to toggle source
# File lib/admin_module/rake/gdl_tasks.rb, line 175 def install AdminModule.configuration.credentials.keys.each do |e| valid_actions.each do |action| AdminModule::Rake::GdlTasks.new("am:#{e}:gdl:#{action}", "#{action} #{e} gdl(s)") do |t| t.env = e t.action = action end end end end
required_args_for_action()
click to toggle source
Define the task arguments (and their order) required for a given action
# File lib/admin_module/rake/gdl_tasks.rb, line 150 def required_args_for_action args = [] case action when 'deploy' args << :comments args << :path when 'version' args << :name args << :comments else # Noop end args end
set_vars(args)
click to toggle source
# File lib/admin_module/rake/gdl_tasks.rb, line 46 def set_vars args args.each do |arg,val| instance_variable_set "@#{arg}", val end args end
stop_on_exception=(do_stop)
click to toggle source
# File lib/admin_module/rake/gdl_tasks.rb, line 59 def stop_on_exception=(do_stop) raise ArgumentError, 'Expecting true or false' unless do_stop === true || do_stop === false @stop_on_exception = do_stop end
validate_params()
click to toggle source
# File lib/admin_module/rake/gdl_tasks.rb, line 114 def validate_params assert_provided env, 'Missing "env"' assert_provided action, 'Missing "action"' default_params case action when 'deploy' assert_provided path, 'Missing "path"' when 'version' assert_provided name, 'Missing "name"' end assert_env_is_configured env end
version(client)
click to toggle source
# File lib/admin_module/rake/gdl_tasks.rb, line 92 def version client client.guideline.version(name, comments) end