class AdminModule::Rake::ParameterTask

Attributes

decision[R]
env[RW]
include[R]
name[RW]
order[R]
precision[R]
type[R]

Public Class Methods

new(task_name = 'save_in_xml', desc = "Set or clear a variable's Save in XML flag") { |self| ... } click to toggle source
# File lib/admin_module/rake/parameter_task.rb, line 27
def initialize(task_name = 'save_in_xml', desc = "Set or clear a variable's Save in XML flag")
  @task_name, @desc = task_name, desc

  yield self if block_given?

  define_task
end

Public Instance Methods

decision=(new_decision) click to toggle source
# File lib/admin_module/rake/parameter_task.rb, line 48
def decision=(new_decision)
  raise "decision must be true or false" unless (new_decision === true || new_decision === false)
  @decision = new_decision ? 'Yes' : 'No'
end
include=(new_state) click to toggle source
# File lib/admin_module/rake/parameter_task.rb, line 61
def include=(new_state)
  raise "include must be true or false" unless (new_state === true || new_state === false)
  @include = new_state
end
order=(new_order) click to toggle source
# File lib/admin_module/rake/parameter_task.rb, line 53
def order=(new_order)
  @order = new_order.to_i
end
precision=(new_precision) click to toggle source
# File lib/admin_module/rake/parameter_task.rb, line 57
def precision=(new_precision)
  @precision = new_precision.to_i
end
type=(new_type) click to toggle source
# File lib/admin_module/rake/parameter_task.rb, line 42
def type=(new_type)
  valid_types = ['Boolean', 'Date', 'DateTime', 'Money', 'Numeric', 'Percentage', 'Text']
  raise "type must be one of #{valid_types.join(', ')}" unless valid_types.include?(new_type)
  @type = new_type
end
update(current_name = nil) click to toggle source
# File lib/admin_module/rake/parameter_task.rb, line 66
def update(current_name = nil)
  current_name = name if current_name.nil?
  current_name = '' if current_name.nil?

  cli = AdminModule::CLI.new
  cli.environment = env
  params = { :name => @name,
             :type => @type,
             :decision => @decision,
             :order => @order,
             :precision => @precision,
             :include => @include }
  params.delete_if { |k,v| v.nil? }

  cli.update_parameter(current_name, params)
ensure
  cli.quit
end