class TFClient::Models::Nav
Constants
- COMPASS_ORDER
- COMPASS_TO_GAME_LINK_MAP
- GAME_LINK_TO_COMPASS_MAP
- LINE_IDENTIFIER
Attributes
asteroids[R]
brightness[R]
claimed_by[R]
coordinates[R]
links[R]
planets[R]
structures[R]
Public Class Methods
new(lines:)
click to toggle source
Calls superclass method
TFClient::Models::Response::new
# File lib/textflight-client/models/nav.rb, line 52 def initialize(lines:) super(lines: lines) LINE_IDENTIFIER.each_with_index do |label, label_index| var_name = ResponseParser.snake_case_sym_from_string(string: label) class_name = ResponseParser.camel_case_from_string(string: label) clazz = ResponseParser.model_class_from_string(string: class_name) if clazz.nil? raise "could not find class name: #{class_name}" end line, _ = ResponseParser.line_and_index_for_beginning_with(lines: @lines, string: label) next if line.nil? if label_index < 4 var = clazz.new(line: line) else var = clazz.new(lines: @lines) end instance_variable_set("@#{var_name}", var) end end
Public Instance Methods
response()
click to toggle source
# File lib/textflight-client/models/nav.rb, line 79 def response puts @planets puts @links table = TTY::Table.new(rows: [[ "#{@brightness.to_s}", "#{@asteroids.to_s}", "#{@coordinates}"] ]) puts table.render(:ascii, Models::TABLE_OPTIONS) do |renderer| renderer.alignments= [:left, :center, :right] end puts @structures end
to_s()
click to toggle source
# File lib/textflight-client/models/nav.rb, line 96 def to_s "#<Nav: #{@coordinates.to_s}>" end