Class: AnalyticsOps::CLI

Inherits:
Object
  • Object
show all
Includes:
LocalCommands, ReportingCommands, SetupCommands
Defined in:
lib/analytics_ops/cli.rb,
lib/analytics_ops/cli/options.rb,
lib/analytics_ops/cli/presenter.rb,
lib/analytics_ops/cli/presenter_csv.rb,
lib/analytics_ops/cli/local_commands.rb,
lib/analytics_ops/cli/setup_commands.rb,
lib/analytics_ops/cli/reporting_commands.rb,
sig/analytics_ops.rbs

Overview

Command-line consumer of the public Analytics Ops API.

Defined Under Namespace

Modules: LocalCommands, PresenterCSV, ReportingCommands, SetupCommands Classes: Options, Presenter

Constant Summary collapse

SUCCESS =
0
DRIFT =
2
USAGE_ERROR =
64
CONFIGURATION_ERROR =
65
AUTHENTICATION_ERROR =
66
REMOTE_ERROR =
69
TIMEOUT_ERROR =
74
QUOTA_ERROR =
75
AUTHORIZATION_ERROR =
77
UNSUPPORTED =
78
STALE_PLAN =
79
PARTIAL_APPLY =
80
INTERRUPTED =
130
COMMANDS =
%w[
  setup connections profiles use properties doctor discover snapshot audit plan apply verify overview report
  realtime portfolio fields reports compatibility health governance changes access raw funnel schema mcp
].freeze
FORMATS =
%w[human json csv].freeze
LOG_LEVELS =
%w[debug info warn error].freeze
NO_ARGUMENT_COMMANDS =
%w[
  setup connections profiles properties doctor discover snapshot audit plan verify overview health governance
  changes access schema mcp
  reports
].freeze
CONNECTION_COMMANDS =
%w[setup properties discover].freeze
LOCAL_COMMANDS =
%w[connections profiles use mcp].freeze
CORE_WORKSPACE_COMMANDS =
%w[doctor snapshot audit plan apply verify].freeze
REPORTING_COMMANDS =
%w[overview report realtime fields reports compatibility health].freeze

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(arguments, out:, err:, input:, workspace_loader:, connection_loader:, service_account_loader:, service_account_store:, mcp_server_loader:, portfolio_loader:) ⇒ CLI

Returns a new instance of CLI.



58
59
60
61
62
63
64
65
66
67
68
69
70
71
# File 'lib/analytics_ops/cli.rb', line 58

def initialize(arguments, out:, err:, input:, workspace_loader:, connection_loader:,
               service_account_loader:, service_account_store:, mcp_server_loader:, portfolio_loader:)
  @arguments = arguments.dup
  @json_requested = json_option_present?(@arguments)
  @out = out
  @err = err
  @input = input
  @workspace_loader = workspace_loader || method(:load_workspace)
  @connection_loader = connection_loader || method(:load_connection)
  @service_account_loader =  || ServiceAccount.method(:load)
  @service_account_store = 
  @mcp_server_loader = mcp_server_loader || method(:load_mcp_server)
  @portfolio_loader = portfolio_loader || method(:load_portfolio)
end

Class Method Details

.start(arguments, out: $stdout, err: $stderr, input: $stdin, workspace_loader: nil, connection_loader: nil, service_account_loader: nil, service_account_store: nil, mcp_server_loader: nil, portfolio_loader: nil) ⇒ Object



41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
# File 'lib/analytics_ops/cli.rb', line 41

def self.start(arguments, out: $stdout, err: $stderr, input: $stdin, workspace_loader: nil,
               connection_loader: nil, service_account_loader: nil, service_account_store: nil,
               mcp_server_loader: nil, portfolio_loader: nil)
  new(
    arguments,
    out:,
    err:,
    input:,
    workspace_loader:,
    connection_loader:,
    service_account_loader:,
    service_account_store:,
    mcp_server_loader:,
    portfolio_loader:
  ).call
end

Instance Method Details

#callObject



73
74
75
# File 'lib/analytics_ops/cli.rb', line 73

def call
  with_error_handling { execute_command }
end