Module: Telnet
- Defined in:
- lib/telnet/config.rb,
lib/telnet/server.rb,
lib/telnet_client.rb,
lib/telnet_client.rb,
lib/telnet_client.rb,
lib/telnet_client.rb,
lib/telnet_client.rb,
lib/telnet_client.rb,
lib/telnet_client.rb,
lib/telnet_client.rb,
lib/telnet_client.rb,
lib/telnet_client.rb,
lib/telnet_server.rb,
lib/telnet/version.rb,
lib/telnet/argument_parser.rb,
lib/telnet/instance_methods.rb
Overview
The Telnet module
Defined Under Namespace
Modules: ClientInitializationMethods, ClientInstanceMethods, InstanceMethods, Listenable Classes: ArgumentsParser, Client, ClientChannelInitializer, ConsoleHandler, ModularHandler, Server
Constant Summary collapse
- CHANNEL_TYPE =
Java::io.netty.channel.socket.nio.NioSocketChannel.java_class
- VERSION =
'1.1.2'.freeze
Class Method Summary collapse
- .client_config ⇒ Object
-
.server_config ⇒ Object
rubocop: disable Metrics/MethodLength.
Instance Method Summary collapse
-
#main(args = parse_arguments) ⇒ Object
rubocop: disable Metrics/AbcSize.
-
#parse_arguments(arguments_parser = ::Telnet::ArgumentsParser.new) ⇒ Object
class ArgumentsParser.
Class Method Details
.client_config ⇒ Object
32 33 34 35 36 37 38 39 40 41 42 |
# File 'lib/telnet_client.rb', line 32 def client_config @client_config ||= { host: '0.0.0.0', port: 21, ssl: false, log_level: Logger::INFO, quit_commands: %i[bye cease desist exit leave quit stop terminate], max_frame_length: 8192, delimiter: Java::io.netty.handler.codec.Delimiters.nulDelimiter } end |
.server_config ⇒ Object
rubocop: disable Metrics/MethodLength
20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/telnet/config.rb', line 20 def server_config @server_config ||= { host: '0.0.0.0', port: 21, ssl: false, idle_reading: 5 * 60, # seconds idle_writing: 30, # seconds log_requests: false, log_level: Logger::INFO, quit_commands: %i[bye cease desist exit leave quit stop terminate], prompt: '>', max_frame_length: 8192, delimiter: Java::io.netty.handler.codec.Delimiters.lineDelimiter } end |
Instance Method Details
#main(args = parse_arguments) ⇒ Object
rubocop: disable Metrics/AbcSize
506 507 508 509 510 511 512 513 514 515 516 |
# File 'lib/telnet_client.rb', line 506 def main(args = parse_arguments) Logging.log_level = args[:log_level] ::Telnet::Client.new(options: args, handlers: ::Telnet::ConsoleHandler.new) rescue Interrupt => e warn "\n#{e.class}" exit rescue StandardError => e ::Telnet::Client.log.fatal "Unexpected error: #{e.class}: #{e.}" e.backtrace.each { |t| log.debug t } if Logging.log_level == Logger::DEBUG exit 1 end |
#parse_arguments(arguments_parser = ::Telnet::ArgumentsParser.new) ⇒ Object
class ArgumentsParser
475 476 477 478 479 480 481 482 483 484 485 486 |
# File 'lib/telnet_client.rb', line 475 def parse_arguments(arguments_parser = ArgumentsParser.new) arguments_parser.parser.parse!(ARGV) arguments_parser.parse_positional_arguments! arguments_parser. rescue OptionParser::InvalidArgument, OptionParser::InvalidOption, OptionParser::MissingArgument, OptionParser::NeedlessArgument => e puts e. puts parser exit rescue OptionParser::AmbiguousOption => e abort e. end |