Sha256: 69c443d883e862e0db528e825d62a45e14617af3a56be2245ae1588f317d1b58

Contents?: true

Size: 795 Bytes

Versions: 1

Compression:

Stored size: 795 Bytes

Contents

# frozen_string_literal: true

module BasicTemperature
  class Temperature
    module Initialization
      private

      def initialize_via_positional_arguments(positional_arguments)
        degrees, scale = positional_arguments

        initialize_arguments(degrees, scale)
      end

      def initialize_via_keywords_arguments(keyword_arguments)
        degrees, scale = keyword_arguments.values_at(:degrees, :scale)

        initialize_arguments(degrees, scale)
      end

      def initialize_arguments(degrees, scale)
        casted_degrees = cast_degrees(degrees)
        casted_scale = cast_scale(scale)

        assert_valid_degrees!(casted_degrees)
        assert_valid_scale!(casted_scale)

        @degrees = casted_degrees
        @scale = casted_scale
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
basic_temperature-1.0.0 lib/basic_temperature/temperature/initialization.rb