Class: Gzr::Commands::Plan::RunIt
- Inherits:
-
Gzr::Command
- Object
- Gzr::Command
- Gzr::Commands::Plan::RunIt
- Includes:
- Plan
- Defined in:
- lib/gzr/commands/plan/run.rb
Instance Method Summary collapse
- #execute(input: $stdin, output: $stdout) ⇒ Object
-
#initialize(plan_id, options) ⇒ RunIt
constructor
A new instance of RunIt.
Methods included from Plan
#create_scheduled_plan, #delete_scheduled_plan, #query_all_scheduled_plans, #query_scheduled_plan, #query_scheduled_plans_for_dashboard, #query_scheduled_plans_for_look, #run_scheduled_plan, #update_scheduled_plan, #upsert_plan_for_dashboard, #upsert_plan_for_look, #upsert_plan_for_obj, #upsert_plans_for_dashboard, #upsert_plans_for_look, #upsert_plans_for_obj
Methods inherited from Gzr::Command
#all_color_collections, #color_collection, #color_palette_lookup!, #create_merge_query, #create_query, #default_color_collection, #field_expressions_eval, #field_names, #find_color_palette_reference, #find_vis_config_reference, #get_auth, #get_user_by_id, #keys_to_keep, #keys_to_keep_internal, #merge_query, #pairs, #query, #render_csv, #rewrite_color_palette!, #run_inline_query, #update_color_palette!
Methods included from Session
#build_connection_hash, #login, #logout_all, #pastel, #read_token_data, #say_error, #say_ok, #say_warning, #sufficient_version?, #token_file, #update_auth, #with_session, #write_token_data
Constructor Details
#initialize(plan_id, options) ⇒ RunIt
Returns a new instance of RunIt.
32 33 34 35 36 |
# File 'lib/gzr/commands/plan/run.rb', line 32 def initialize(plan_id,) super() @plan_id = plan_id @options = end |
Instance Method Details
#execute(input: $stdin, output: $stdout) ⇒ Object
38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
# File 'lib/gzr/commands/plan/run.rb', line 38 def execute(input: $stdin, output: $stdout) say_warning("options: #{@options.inspect}") if @options[:debug] with_session do plan = query_scheduled_plan(@plan_id) # The api call scheduled_plan_run_once is an odd duck. It accepts # the output of any of the calls to retrieve a scheduled plan # even though many of the attributes passed are marked read-only. # Furthermore, if there is a "secret" - like the password for # sftp or s3 - it will match the plan body up with the plan # as known in the server and if they are identical apart from # the secret, the api will effectively include to secret in order # execute the plan. plan.delete(:id) run_scheduled_plan(plan) output.puts "Executed plan #{@plan_id}" unless @options[:plain] end end |