Class: AdminModule::Rake::StageTasks
- Inherits:
-
Object
- Object
- AdminModule::Rake::StageTasks
- Includes:
- Rake::DSL
- Defined in:
- lib/admin_module/rake/stage_tasks.rb
Instance Attribute Summary collapse
-
#action ⇒ Object
Returns the value of attribute action.
-
#allow_create ⇒ Object
Returns the value of attribute allow_create.
-
#env ⇒ Object
Returns the value of attribute env.
-
#name ⇒ Object
Returns the value of attribute name.
-
#path ⇒ Object
Returns the value of attribute path.
-
#stop_on_exception ⇒ Object
Returns the value of attribute stop_on_exception.
-
#to ⇒ Object
Returns the value of attribute to.
-
#valid_actions ⇒ Object
readonly
Returns the value of attribute valid_actions.
Class Method Summary collapse
Instance Method Summary collapse
- #assert_env_is_configured(arg) ⇒ Object
- #assert_provided(value, msg) ⇒ Object
- #commit ⇒ Object
-
#define_task ⇒ Object
:nodoc:.
- #delete(client) ⇒ Object
- #export(client) ⇒ Object
- #import(client) ⇒ Object
-
#initialize(task_name = 'stages_task', desc = "Modify a stage or stages") {|_self| ... } ⇒ StageTasks
constructor
A new instance of StageTasks.
- #install ⇒ Object
- #list(client) ⇒ Object
- #read(client) ⇒ Object
- #rename(client) ⇒ Object
- #required_args_for_action ⇒ Object
- #set_vars(args) ⇒ Object
- #validate_params ⇒ Object
Constructor Details
#initialize(task_name = 'stages_task', desc = "Modify a stage or stages") {|_self| ... } ⇒ StageTasks
Returns a new instance of StageTasks.
28 29 30 31 32 33 34 35 36 37 38 |
# File 'lib/admin_module/rake/stage_tasks.rb', line 28 def initialize(task_name = 'stages_task', desc = "Modify a stage or stages") @valid_actions = ['import', 'export', 'read', 'list', 'rename', 'delete'] @task_name, @desc = task_name, desc @stop_on_exception = true @allow_create = false yield self if block_given? define_task end |
Instance Attribute Details
#action ⇒ Object
Returns the value of attribute action.
24 25 26 |
# File 'lib/admin_module/rake/stage_tasks.rb', line 24 def action @action end |
#allow_create ⇒ Object
Returns the value of attribute allow_create.
23 24 25 |
# File 'lib/admin_module/rake/stage_tasks.rb', line 23 def allow_create @allow_create end |
#env ⇒ Object
Returns the value of attribute env.
19 20 21 |
# File 'lib/admin_module/rake/stage_tasks.rb', line 19 def env @env end |
#name ⇒ Object
Returns the value of attribute name.
20 21 22 |
# File 'lib/admin_module/rake/stage_tasks.rb', line 20 def name @name end |
#path ⇒ Object
Returns the value of attribute path.
22 23 24 |
# File 'lib/admin_module/rake/stage_tasks.rb', line 22 def path @path end |
#stop_on_exception ⇒ Object
Returns the value of attribute stop_on_exception.
26 27 28 |
# File 'lib/admin_module/rake/stage_tasks.rb', line 26 def stop_on_exception @stop_on_exception end |
#to ⇒ Object
Returns the value of attribute to.
21 22 23 |
# File 'lib/admin_module/rake/stage_tasks.rb', line 21 def to @to end |
#valid_actions ⇒ Object (readonly)
Returns the value of attribute valid_actions.
25 26 27 |
# File 'lib/admin_module/rake/stage_tasks.rb', line 25 def valid_actions @valid_actions end |
Class Method Details
.install ⇒ Object
178 179 180 |
# File 'lib/admin_module/rake/stage_tasks.rb', line 178 def install new.install end |
Instance Method Details
#assert_env_is_configured(arg) ⇒ Object
144 145 146 147 148 149 150 |
# File 'lib/admin_module/rake/stage_tasks.rb', line 144 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) ⇒ Object
138 139 140 141 142 |
# File 'lib/admin_module/rake/stage_tasks.rb', line 138 def assert_provided value, msg if value.nil? || value.empty? raise msg end end |
#commit ⇒ Object
66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 |
# File 'lib/admin_module/rake/stage_tasks.rb', line 66 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 end |
#define_task ⇒ Object
:nodoc:
40 41 42 43 44 45 46 |
# File 'lib/admin_module/rake/stage_tasks.rb', line 40 def define_task #:nodoc: desc @desc task(@task_name, required_args_for_action) do |t,args| set_vars args commit # Call method to perform when invoked. end end |
#delete(client) ⇒ Object
108 109 110 |
# File 'lib/admin_module/rake/stage_tasks.rb', line 108 def delete client $stdout << client.stages.delete(name) end |
#export(client) ⇒ Object
100 101 102 |
# File 'lib/admin_module/rake/stage_tasks.rb', line 100 def export client $stdout << client.stages.export(path) end |
#import(client) ⇒ Object
96 97 98 |
# File 'lib/admin_module/rake/stage_tasks.rb', line 96 def import client $stdout << client.stages.import(path, allow_create) end |
#install ⇒ Object
183 184 185 186 187 188 189 190 191 192 |
# File 'lib/admin_module/rake/stage_tasks.rb', line 183 def install AdminModule.configuration.credentials.keys.each do |e| valid_actions.each do |action| AdminModule::Rake::StageTasks.new("am:#{e}:stage:#{action}", "#{action} #{e} stage(s)") do |t| t.env = e t.action = action end end end end |
#list(client) ⇒ Object
85 86 87 88 |
# File 'lib/admin_module/rake/stage_tasks.rb', line 85 def list client $stdout << client.stages.list.join("\n") $stdout << "\n" end |
#read(client) ⇒ Object
90 91 92 93 94 |
# File 'lib/admin_module/rake/stage_tasks.rb', line 90 def read client result = {} result[name] = client.stages.read(name) $stdout << result.to_yaml end |
#rename(client) ⇒ Object
104 105 106 |
# File 'lib/admin_module/rake/stage_tasks.rb', line 104 def rename client $stdout << client.stages.rename(name, to) end |
#required_args_for_action ⇒ Object
152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 |
# File 'lib/admin_module/rake/stage_tasks.rb', line 152 def required_args_for_action args = [] case action when 'read','delete' args << :name when 'rename' args << :name args << :to when 'import' args << :path args << :allow_create when 'export' args << :path else # Noop end args end |
#set_vars(args) ⇒ Object
48 49 50 51 52 53 54 |
# File 'lib/admin_module/rake/stage_tasks.rb', line 48 def set_vars args args.each do |arg,val| instance_variable_set "@#{arg}", val end args end |
#validate_params ⇒ Object
112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 |
# File 'lib/admin_module/rake/stage_tasks.rb', line 112 def validate_params assert_provided env, 'Missing "env"' assert_provided action, 'Missing "action"' case action when 'import' assert_provided path, 'Missing "path"' when 'export' assert_provided path, 'Missing "path"' when 'read' assert_provided name, 'Missing "name"' when 'rename' assert_provided name, 'Missing "name"' assert_provided to, 'Missing "to"' when 'delete' assert_provided name, 'Missing "name"' end assert_env_is_configured env end |