class ShipChooser
Attributes
ship_builder[R]
ship_class[R]
ship_group_options[R]
Public Class Methods
new()
click to toggle source
# File lib/uss-enterprise/ship_chooser.rb, line 6 def initialize @ship_group_options = { 'StarShip' => StarShipBuilder.new, 'SeaShip' => SeaShipBuilder.new, 'OrbitalShip' => OrbitalShipBuilder.new } end
Public Instance Methods
choose_ship_class(request)
click to toggle source
# File lib/uss-enterprise/ship_chooser.rb, line 24 def choose_ship_class(request) if request == 'random' # chooses a random key from the available blueprints @ship_class = @ship_builder.available_blueprints.keys.sample else @ship_class = request end end
choose_ship_group(request)
click to toggle source
# File lib/uss-enterprise/ship_chooser.rb, line 14 def choose_ship_group(request) if request == 'random' group = @ship_group_options.keys.sample else group = request end @ship_builder = @ship_group_options[group] end
commission_construction()
click to toggle source
# File lib/uss-enterprise/ship_chooser.rb, line 33 def commission_construction @ship_builder.define_blueprint(@ship_class) @ship_builder.build_it end