Class: ShopifyCLI::Commands::Reporting

Inherits:
ShopifyCLI::Command show all
Defined in:
lib/shopify_cli/commands/reporting.rb

Instance Attribute Summary

Attributes inherited from ShopifyCLI::Command

#ctx, #options

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from ShopifyCLI::Command

call, call_help, check_node_version, check_ruby_version, check_version, #initialize, options, prerequisite_task, recommend_default_node_range, recommend_default_ruby_range, recommend_node, recommend_ruby, run_prerequisites, subcommand, subcommand_registry

Methods included from Feature::Set

#hidden?, #hidden_feature

Constructor Details

This class inherits a constructor from ShopifyCLI::Command

Class Method Details

.helpObject



33
34
35
# File 'lib/shopify_cli/commands/reporting.rb', line 33

def self.help
  ShopifyCLI::Context.message("core.reporting.help", ShopifyCLI::TOOL_NAME)
end

Instance Method Details

#call(args, _name) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
# File 'lib/shopify_cli/commands/reporting.rb', line 6

def call(args, _name)
  enable_reporting = reporting_enabled?(args)
  Services::ReportingService.call(enable: enable_reporting)

  message = if enable_reporting
    @ctx.message("core.reporting.turned_on_message")
  else
    @ctx.message("core.reporting.turned_off_message", ShopifyCLI::TOOL_NAME)
  end
  @ctx.puts(message)
end

#reporting_enabled?(args) ⇒ Boolean

Returns:

  • (Boolean)


18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/shopify_cli/commands/reporting.rb', line 18

def reporting_enabled?(args)
  case args.first
  when nil
    @ctx.abort(@ctx.message("core.reporting.missing_argument", ShopifyCLI::TOOL_NAME))
  when "on"
    true
  when "off"
    false
  else
    @ctx.abort(
      @ctx.message("core.reporting.invalid_argument", ShopifyCLI::TOOL_NAME, args.first)
    )
  end
end