a
Ruby
code posted
created at 02 Jun 18:22
Edit
|
Back
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
class Bicycle attr_reader :style, :size, :tape_color, :front_shock, :rear_shock def initialize(**opts) @style = opts[:style] @size = opts[:size] @tape_color = opts[:tape_color] @front_shock = opts[:front_shock] @rear_shock = opts[:rear_shock] end def spares if style == :road { chain: '11-speed', tire_size: '23', tape_color: tape_color } else { chain: '11-speed', tire_size: '2.1', front_shock: front_shock } end end # ... end class MountainBike < Bicycle attr_reader :front_shock, :rear_shock def initialize(**opts) @front_shock = opts[:front_shock] @rear_shock = opts[:rear_shock] super end def spares super.merge(front_shock: front_shock) end end |
794 Bytes in 2 ms with coderay