Class: ShipChooser
- Inherits:
-
Object
- Object
- ShipChooser
- Defined in:
- lib/uss-enterprise/ship_chooser.rb
Instance Attribute Summary collapse
-
#ship_builder ⇒ Object
readonly
Returns the value of attribute ship_builder.
-
#ship_class ⇒ Object
readonly
Returns the value of attribute ship_class.
-
#ship_group_options ⇒ Object
readonly
Returns the value of attribute ship_group_options.
Instance Method Summary collapse
- #choose_ship_class(request) ⇒ Object
- #choose_ship_group(request) ⇒ Object
- #commission_construction ⇒ Object
-
#initialize ⇒ ShipChooser
constructor
A new instance of ShipChooser.
Constructor Details
#initialize ⇒ ShipChooser
Returns a new instance of ShipChooser.
6 7 8 9 10 11 12 |
# File 'lib/uss-enterprise/ship_chooser.rb', line 6 def initialize @ship_group_options = { 'StarShip' => StarShipBuilder.new, 'SeaShip' => SeaShipBuilder.new, 'OrbitalShip' => OrbitalShipBuilder.new } end |
Instance Attribute Details
#ship_builder ⇒ Object (readonly)
Returns the value of attribute ship_builder.
4 5 6 |
# File 'lib/uss-enterprise/ship_chooser.rb', line 4 def ship_builder @ship_builder end |
#ship_class ⇒ Object (readonly)
Returns the value of attribute ship_class.
4 5 6 |
# File 'lib/uss-enterprise/ship_chooser.rb', line 4 def ship_class @ship_class end |
#ship_group_options ⇒ Object (readonly)
Returns the value of attribute ship_group_options.
4 5 6 |
# File 'lib/uss-enterprise/ship_chooser.rb', line 4 def @ship_group_options end |
Instance Method Details
#choose_ship_class(request) ⇒ Object
24 25 26 27 28 29 30 31 |
# 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) ⇒ Object
14 15 16 17 18 19 20 21 22 |
# 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 ⇒ Object
33 34 35 36 |
# File 'lib/uss-enterprise/ship_chooser.rb', line 33 def commission_construction @ship_builder.define_blueprint(@ship_class) @ship_builder.build_it end |