diff --git a/lib/basic_temperature.rb b/lib/basic_temperature.rb index 13d1d5e..e9c3190 100644 --- a/lib/basic_temperature.rb +++ b/lib/basic_temperature.rb @@ -22,6 +22,10 @@ class InvalidNumericOrTemperatureError < StandardError; end attr_reader :degrees, :scale + class << self + alias [] new + end + def initialize(*positional_arguments, **keyword_arguments) assert_either_positional_arguments_or_keyword_arguments!(positional_arguments, keyword_arguments) diff --git a/spec/basic_temperature_spec.rb b/spec/basic_temperature_spec.rb index 10fe3a1..4bcc955 100644 --- a/spec/basic_temperature_spec.rb +++ b/spec/basic_temperature_spec.rb @@ -103,6 +103,12 @@ end end + describe '.[]' do + it 'is an alias of .new' do + Temperature.method(:[]) == Temperature.method(:new) + end + end + describe '#to_celsius' do context 'when temperature scale is celsius' do it 'returns temperature in celsius' do