Class: HTTY::CLI::Commands::History

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

Overview

Encapsulates the history 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 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

+ (Object) category

Returns the name of a category under which help for the history command should appear.



19
20
21
# File 'lib/htty/cli/commands/history.rb', line 19

def self.category
  'Navigation'
end

+ (Object) help

Returns the help text for the history command.



24
25
26
# File 'lib/htty/cli/commands/history.rb', line 24

def self.help
  'Displays previous request-response activity in this session'
end

+ (Object) help_extended

Returns the extended help text for the history command.



29
30
31
32
33
34
35
# File 'lib/htty/cli/commands/history.rb', line 29

def self.help_extended
  'Displays previous request-response activity in this session. Does not '  +
  "communicate with the host.\n"                                            +
  "\n"                                                                      +
  'Only a summary of each request-response pair is shown; the contents of ' +
  'headers and bodies are hidden.'
end

+ (Object) see_also_commands

Returns related command classes for the history command.



38
39
40
# File 'lib/htty/cli/commands/history.rb', line 38

def self.see_also_commands
  [HTTY::CLI::Commands::HistoryVerbose, HTTY::CLI::Commands::Reuse]
end

Instance Method Details

- (Object) perform

Performs the history command.



43
44
45
46
47
48
49
50
51
52
53
54
55
56
# File 'lib/htty/cli/commands/history.rb', line 43

def perform
  requests = session.requests
  number_width = Math.log10(requests.length).to_i + 1
  requests.each_with_index do |request, index|
    next unless request.response

    number = (index + 1).to_s.rjust(number_width)
    print "#{strong number} "
    show_request request

    print((' ' * number_width), ' ')
    show_response request.response
  end
end