Module: GitlabInternalEventsCli::Helpers

Includes:
CliInputs, EventOptions, Files, Formatting, GroupOwnership, MetricOptions, ServicePingDashboards
Included in:
Cli, Flows::EventDefiner, Flows::FlowAdvisor, Flows::MetricDefiner, Flows::UsageViewer, Subflows::DatabaseMetricDefiner, Subflows::EventMetricDefiner
Defined in:
lib/gitlab_internal_events_cli/helpers.rb,
lib/gitlab_internal_events_cli/helpers/files.rb,
lib/gitlab_internal_events_cli/helpers/cli_inputs.rb,
lib/gitlab_internal_events_cli/helpers/formatting.rb,
lib/gitlab_internal_events_cli/helpers/event_options.rb,
lib/gitlab_internal_events_cli/helpers/schema_loader.rb,
lib/gitlab_internal_events_cli/helpers/metric_options.rb,
lib/gitlab_internal_events_cli/helpers/group_ownership.rb,
lib/gitlab_internal_events_cli/helpers/service_ping_dashboards.rb

Defined Under Namespace

Modules: CliInputs, EventOptions, Files, Formatting, GroupOwnership, MetricOptions, SchemaLoader, ServicePingDashboards

Constant Summary collapse

NAME_REGEX =
/\A[a-z0-9_]+\z/

Constants included from Formatting

Formatting::DEFAULT_WINDOW_HEIGHT, Formatting::DEFAULT_WINDOW_WIDTH

Constants included from Files

Files::MAX_FILENAME_LENGTH

Instance Method Summary collapse

Methods included from ServicePingDashboards

#metric_exploration_group_path, #metric_trend_path

Methods included from MetricOptions

#get_metric_options

Methods included from EventOptions

#events_by_filepath, #generate_ai_event_suggestion, #generate_python_advice, #get_event_options

Methods included from GroupOwnership

#find_categories, #find_section, #find_stage, #known_categories, #prompt_for_feature_categories, #prompt_for_group_ownership

Methods included from Formatting

#clear_format, #counter, #divider, #format_error, #format_heading, #format_help, #format_info, #format_prefix, #format_prompt, #format_selection, #format_subheader, #format_warning, #progress_bar

Methods included from Files

#absolute_path, #file_saved_message, #prompt_to_save_file, #write_to_file

Methods included from CliInputs

#disableable_option, #disabled_format_callback, #filter_opts, #format_disabled_options_as_dividers, #input_optional_text, #input_opts, #input_required_text, #multiselect_opts, #prompt_for_array_selection, #prompt_for_text, #select_option_divider, #select_opts, #yes_no_opts

Instance Method Details

#feedback_noticeObject



34
35
36
37
38
39
40
41
42
43
44
45
# File 'lib/gitlab_internal_events_cli/helpers.rb', line 34

def feedback_notice
  format_heading <<~TEXT.chomp
    Thanks for using the Internal Events CLI!

    Please reach out with any feedback!
      About Internal Events: https://gitlab.com/gitlab-org/analytics-section/analytics-instrumentation/internal/-/issues/687
      About CLI: https://gitlab.com/gitlab-org/gitlab/-/issues/434038
      In Slack: #g_analyze_analytics_instrumentation

    Let us know that you used the CLI! React with 👍 on the feedback issue or post in Slack!
  TEXT
end

#milestoneObject



24
25
26
# File 'lib/gitlab_internal_events_cli/helpers.rb', line 24

def milestone
  GitlabInternalEventsCli.configuration.milestone
end

#new_page!(on_step: nil, steps: []) ⇒ Object



28
29
30
31
32
# File 'lib/gitlab_internal_events_cli/helpers.rb', line 28

def new_page!(on_step: nil, steps: [])
  cli.say TTY::Cursor.clear_screen
  cli.say TTY::Cursor.move_to(0, 0)
  cli.say "#{progress_bar(on_step, steps)}\n" if on_step && steps&.any?
end