Class: Falcon::Command::Top

Inherits:
Samovar::Command
  • Object
show all
Defined in:
lib/falcon/command/top.rb

Overview

The top level command for the ‘falcon` executable.

Instance Method Summary collapse

Instance Method Details

#callObject

Prepare the environment and invoke the sub-command.



93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
# File 'lib/falcon/command/top.rb', line 93

def call
  if encoding = self.encoding
    update_external_encoding!(encoding)
  else
    update_external_encoding!
  end
  
  if @options[:version]
    puts "#{self.name} v#{Falcon::VERSION}"
  elsif @options[:help]
    self.print_usage
  else
    @command.call
  end
end

#command=(value) ⇒ Object

The nested command to execute.



52
53
54
55
56
57
58
59
# File 'lib/falcon/command/top.rb', line 52

nested :command, {
  'serve' => Serve,
  'host' => Host,
  'virtual' => Virtual,
  'proxy' => Proxy,
  'redirect' => Redirect,
  'supervisor' => Supervisor,
}, default: 'serve'

#encodingObject

The desired external encoding.



86
87
88
89
90
# File 'lib/falcon/command/top.rb', line 86

def encoding
  if name = @options[:encoding]
    Encoding.find(name)
  end
end

#quiet?Boolean

Whether quiet logging was enabled.

Returns:

  • (Boolean)


69
70
71
# File 'lib/falcon/command/top.rb', line 69

def quiet?
  @options[:logging] == :quiet
end

#update_external_encoding!(encoding = Encoding::UTF_8) ⇒ Object

Update the external encoding.

If you don’t specify these, it’s possible to have issues when encodings mismatch on the server.



78
79
80
81
82
83
# File 'lib/falcon/command/top.rb', line 78

def update_external_encoding!(encoding = Encoding::UTF_8)
  if Encoding.default_external != encoding
    Console.logger.warn(self) {"Updating Encoding.default_external from #{Encoding.default_external} to #{encoding}"}
    Encoding.default_external = encoding
  end
end

#verbose?Boolean

Whether verbose logging is enabled.

Returns:

  • (Boolean)


63
64
65
# File 'lib/falcon/command/top.rb', line 63

def verbose?
  @options[:logging] == :verbose
end