Class: HTTY::CLI::Commands::QueryUnset

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

Overview

Encapsulates the query-unset command.

Constant Summary

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 included from UrlEscaping

#escape_or_warn_of_escape_sequences

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

Methods inherited from HTTY::CLI::Command

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

Constructor Details

This class inherits a constructor from HTTY::CLI::Command

Class Method Details

+ (Object) category

Returns the name of a category under which help for the query-unset command should appear.



22
23
24
# File 'lib/htty/cli/commands/query_unset.rb', line 22

def self.category
  'Navigation'
end

+ (Object) command_line_arguments

Returns the arguments for the command-line usage of the query-unset command.



28
29
30
# File 'lib/htty/cli/commands/query_unset.rb', line 28

def self.command_line_arguments
  'NAME [VALUE]'
end

+ (Object) help

Returns the help text for the query-unset command.



33
34
35
# File 'lib/htty/cli/commands/query_unset.rb', line 33

def self.help
  "Removes query-string parameters from the request's address"
end

+ (Object) help_extended

Returns the extended help text for the query-unset command.



38
39
40
41
42
43
44
45
46
47
48
49
50
51
# File 'lib/htty/cli/commands/query_unset.rb', line 38

def self.help_extended
  'Removes one or more a query-string parameters used for the request. '     +
  "Does not communicate with the host.\n"                                    +
  "\n"                                                                       +
  'The difference between this command and '                                 +
  "#{strong HTTY::CLI::Commands::QueryRemove.command_line} is that this "    +
  'command removes all matching parameters instead of removing matches one ' +
  "at a time from the end of the address.\n"                                 +
  "\n"                                                                       +
  'The name of the query-string parameter will be URL-encoded if '           +
  "necessary.\n"                                                             +
  "\n"                                                                       +
  'The console prompt shows the address for the current request.'
end

+ (Object) see_also_commands

Returns related command classes for the query-unset command.



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

def self.see_also_commands
  [HTTY::CLI::Commands::QuerySet,
   HTTY::CLI::Commands::QueryUnsetAll,
   HTTY::CLI::Commands::QueryAdd,
   HTTY::CLI::Commands::QueryRemove,
   HTTY::CLI::Commands::Address]
end

Instance Method Details

- (Object) perform

Performs the query-unset command.



63
64
65
66
67
68
69
70
71
# File 'lib/htty/cli/commands/query_unset.rb', line 63

def perform
  add_request_if_new do |request|
    self.class.notify_if_cookies_cleared request do
      unset_method = (arguments.length == 2) ? :query_remove : :query_unset
      request.send(unset_method,
                   *escape_or_warn_of_escape_sequences(arguments))
    end
  end
end