Class: Gzr::Commands::Dashboard::Cat
- Inherits:
-
Gzr::Command
- Object
- Gzr::Command
- Gzr::Commands::Dashboard::Cat
- Includes:
- Dashboard, FileHelper, Plan
- Defined in:
- lib/gzr/commands/dashboard/cat.rb
Instance Method Summary collapse
- #execute(*args, input: $stdin, output: $stdout) ⇒ Object
-
#initialize(dashboard_id, options) ⇒ Cat
constructor
A new instance of Cat.
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 included from FileHelper
Methods included from Dashboard
#create_dashboard, #create_dashboard_element, #create_dashboard_filter, #create_dashboard_layout, #delete_dashboard, #delete_dashboard_element, #delete_dashboard_filter, #delete_dashboard_layout, #query_dashboard, #search_dashboards_by_slug, #search_dashboards_by_title, #update_dashboard, #update_dashboard_element, #update_dashboard_filter, #update_dashboard_layout, #update_dashboard_layout_component
Methods inherited from Gzr::Command
#create_merge_query, #create_query, #field_expression, #field_names, #keys_to_keep, #merge_query, #pairs, #query, #render_csv, #run_inline_query
Methods included from Session
#build_connection_hash, #login, #logout_all, #pastel, #say_error, #say_ok, #say_warning, #v3_1_available?, #with_session
Constructor Details
#initialize(dashboard_id, options) ⇒ Cat
Returns a new instance of Cat.
37 38 39 40 41 |
# File 'lib/gzr/commands/dashboard/cat.rb', line 37 def initialize(dashboard_id,) super() @dashboard_id = dashboard_id @options = end |
Instance Method Details
#execute(*args, input: $stdin, output: $stdout) ⇒ Object
43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 |
# File 'lib/gzr/commands/dashboard/cat.rb', line 43 def execute(*args, input: $stdin, output: $stdout) say_warning("options: #{@options.inspect}") if @options[:debug] with_session("3.1") do data = query_dashboard(@dashboard_id) data.to_attrs()[:dashboard_elements].each_index do |i| element = data[:dashboard_elements][i] if element[:merge_result_id] merge_result = merge_query(element[:merge_result_id]) merge_result[:source_queries].each_index do |j| source_query = merge_result[:source_queries][j] merge_result[:source_queries][j][:query] = query(source_query[:query_id]) end data[:dashboard_elements][i][:merge_result] = merge_result end end data[:scheduled_plans] = query_scheduled_plans_for_dashboard(@dashboard_id,"all") if @options[:plans] write_file(@options[:dir] ? "Dashboard_#{data.id}_#{data.title}.json" : nil, @options[:dir], nil, output) do |f| f.puts JSON.pretty_generate(data.to_attrs) end end end |