31 lines
652 B
Ruby
31 lines
652 B
Ruby
# frozen_string_literal: true
|
|
|
|
class SpaceTraders::System < SpaceTraders::Model
|
|
attributes :symbol,
|
|
:sectorSymbol,
|
|
:type,
|
|
:x,
|
|
:y,
|
|
:waypoints,
|
|
:factions
|
|
|
|
def self.systems(client, page: 1)
|
|
list = client.systems.systems(page:)
|
|
list.map { new(client, **_1) }
|
|
end
|
|
|
|
def self.load(client, id:)
|
|
new(client, **client.systems.system(id:))
|
|
end
|
|
|
|
def initialize(client, **params)
|
|
super
|
|
self.waypoints = self.waypoints.map { SpaceTraders::Waypoint.new(client, **_1) }
|
|
end
|
|
|
|
def reload!
|
|
update(**client.systems.system(id: symbol))
|
|
self
|
|
end
|
|
end
|