Class: NeverBounce::CLI::Script::JobsParse

Inherits:
RequestMaker show all
Defined in:
lib/never_bounce/cli/script/jobs_parse.rb

Constant Summary

Constants inherited from RequestMaker

RequestMaker::SHARED_ENVARS

Instance Attribute Summary collapse

Attributes inherited from RequestMaker

#api_key, #api_url, #request_curl, #response, #server_raw, #session, #user_config

Attributes inherited from Meaningful

#banner_text, #envar_text, #help_text, #options_text

Attributes inherited from Base

#argv, #env, #stderr, #stdout

Instance Method Summary collapse

Methods inherited from RequestMaker

#get_table_value, #inil, #print_curl_request, #print_error_response, #print_server_raw, #slim_main1

Methods inherited from Meaningful

#call_slim_main, error_klasses, format_envar_examples, #handle_help_and_options, #help?, #main, #option_parser, #options

Methods inherited from Base

#env_falsey?, #env_truthy?, env_value_truthy?, #main, #system, #verbose?

Instance Attribute Details

#auto_starttrue, ...

Returns:

  • (true)
  • (false)
  • (nil)


19
20
21
22
23
24
25
# File 'lib/never_bounce/cli/script/jobs_parse.rb', line 19

def auto_start
  igetset(:auto_start) do
    if env.has_key?(k = "AUTO_START")
      env_truthy?(k)
    end
  end
end

#manifestManifest

Returns:



42
43
44
45
46
47
48
# File 'lib/never_bounce/cli/script/jobs_parse.rb', line 42

def manifest
  @manifest ||= Manifest.new(
    name: "nb-jobs-parse",
    function: "Issue a job parse command to the server",
    cmdline: "[options] [VAR1=value] [VAR2=value] ...",
  )
end

#requestObject

An API::Request::JobsParse.

Returns:

  • (Object)


30
31
32
33
34
35
36
# File 'lib/never_bounce/cli/script/jobs_parse.rb', line 30

def request
  @request ||= API::Request::JobsParse.new({
    api_key: api_key,
    auto_start: auto_start,
    job_id: job_id,
  })
end

Instance Method Details

#slim_mainInteger

Returns:

  • (Integer)


53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
# File 'lib/never_bounce/cli/script/jobs_parse.rb', line 53

def slim_main
  "Response".tap do |label|
    headings = [
      ["QueueId", :queue_id],

      ["ExecTime", :execution_time, :right],
    ]

    table = Table.new(
      headings: headings.map { |ar| ar[0] },
      rows: [headings.map { |ar| get_table_value(response, ar) }],
    ).align!(headings)

    stdout.puts "\n#{label}:"
    stdout.puts table
  end

  0
end