Class: HTTY::CLI::Commands::CookiesUse

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

Overview

Encapsulates the cookies-use 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 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, command_line_arguments, 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

.categoryObject

Returns the name of a category under which help for the cookies-use command should appear.



10
11
12
# File 'lib/htty/cli/commands/cookies_use.rb', line 10

def self.category
  'Building Requests'
end

.helpObject

Returns the help text for the cookies-use command.



15
16
17
# File 'lib/htty/cli/commands/cookies_use.rb', line 15

def self.help
  'Uses cookies offered in the response'
end

.help_extendedObject

Returns the extended help text for the cookies-use command.



20
21
22
23
24
# File 'lib/htty/cli/commands/cookies_use.rb', line 20

def self.help_extended
  'Sets the cookies of the request to the cookies offered in the response ' +
  "(the '#{HTTY::Response::COOKIES_HEADER_NAME}' header). Does not "        +
  'communicate with the host.'
end

.see_also_commandsObject

Returns related command classes for the cookies-use command.



27
28
29
30
31
32
33
# File 'lib/htty/cli/commands/cookies_use.rb', line 27

def self.see_also_commands
  [HTTY::CLI::Commands::Cookies,
   HTTY::CLI::Commands::CookiesAdd,
   HTTY::CLI::Commands::CookiesRemove,
   HTTY::CLI::Commands::CookiesRemoveAll,
   HTTY::CLI::Commands::HeadersResponse]
end

Instance Method Details

#performObject

Performs the cookies-use command.



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

def perform
  unless arguments.empty?
    raise ArgumentError,
          "wrong number of arguments (#{arguments.length} for 0)"
  end

  add_request_if_new do |request|
    request = request.cookies_use(session.last_response)
    phrase = pluralize('cookie', request.cookies.length)
    phrase = phrase[0..0].upcase + phrase[1..-1]
    puts notice("#{phrase} now in use")
    request
  end
end