Class: HTTY::CLI::Commands::SchemeSet

Inherits:
HTTY::CLI::Command show all
Defined in:
lib/htty/cli/commands/scheme_set.rb

Overview

Encapsulates the scheme-set command.

Constant Summary

Constants included from Display

Display::FORMATS

Instance Attribute Summary

Attributes inherited from HTTY::CLI::Command

#arguments, #session

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from HTTY::CLI::Command

#add_request_if_new, alias_for, aliases, build_for, command_line, complete_for?, notify_if_cookies_cleared, raw_name, sanitize_arguments

Methods included from Display

#break, #format, #formatted_prompt_for, #indent, #logotype, #normal, #notice, #pluralize, #rescuing_from, #say, #say_goodbye, #say_header, #say_hello, #show_headers, #show_request, #show_response, #strong, #word_wrap, #word_wrap_indented

Constructor Details

#initialize(attributes = {}) ⇒ SchemeSet

Initializes a new HTTY::CLI::SchemeSet with attribute values specified in the attributes hash.

Valid attributes keys include:

  • :arguments

  • :session



45
46
47
48
49
50
# File 'lib/htty/cli/commands/scheme_set.rb', line 45

def initialize(attributes={})
  super attributes
  @arguments.collect! do |a|
    a.gsub(/:\/\/$/, '')
  end
end

Class Method Details

.categoryObject

Returns the name of a category under which help for the scheme-set command should appear.



8
9
10
# File 'lib/htty/cli/commands/scheme_set.rb', line 8

def self.category
  'Navigation'
end

.command_line_argumentsObject

Returns the arguments for the command-line usage of the scheme-set command.



13
14
15
# File 'lib/htty/cli/commands/scheme_set.rb', line 13

def self.command_line_arguments
  'SCHEME'
end

.helpObject

Returns the help text for the scheme-set command.



18
19
20
# File 'lib/htty/cli/commands/scheme_set.rb', line 18

def self.help
  "Changes the scheme (protocol identifier) of the request's address"
end

.help_extendedObject

Returns the extended help text for the scheme-set command.



23
24
25
26
27
28
29
30
31
# File 'lib/htty/cli/commands/scheme_set.rb', line 23

def self.help_extended
  'Changes the scheme, or protocol identifier, used for the request. Does ' +
  "not communicate with the host.\n"                                        +
  "\n"                                                                      +
  "The scheme you supply must be either 'http' or 'https'. Changing the "   +
  "scheme has no effect on the port, and vice versa.\n"                     +
  "\n"                                                                      +
  'The console prompt shows the address for the current request.'
end

.see_also_commandsObject

Returns related command classes for the scheme-set command.



34
35
36
# File 'lib/htty/cli/commands/scheme_set.rb', line 34

def self.see_also_commands
  [HTTY::CLI::Commands::Address, HTTY::CLI::Commands::PortSet]
end

Instance Method Details

#performObject

Performs the scheme-set command.



53
54
55
56
57
58
59
# File 'lib/htty/cli/commands/scheme_set.rb', line 53

def perform
  add_request_if_new do |request|
    self.class.notify_if_cookies_cleared request do
      request.scheme_set(*arguments)
    end
  end
end