class Lite::Measurements::Base
Attributes
amount[RW]
Public Class Methods
convert(amount, from:, to:)
click to toggle source
# File lib/lite/measurements/base.rb, line 15 def convert(amount, from:, to:) klass = new(amount) klass.convert(from: from, to: to) end
new(amount)
click to toggle source
# File lib/lite/measurements/base.rb, line 9 def initialize(amount) @amount = amount end
Private Instance Methods
assert_all_valid_keys!(from, to, valid_keys)
click to toggle source
# File lib/lite/measurements/base.rb, line 24 def assert_all_valid_keys!(from, to, valid_keys) [from, to].each { |key| assert_valid_keys!(key, valid_keys) } end
assert_valid_keys!(key, valid_keys)
click to toggle source
rubocop:disable Style/GuardClause
# File lib/lite/measurements/base.rb, line 29 def assert_valid_keys!(key, valid_keys) if valid_keys.empty? raise ArgumentError, 'Missing key: conversion key must be provided' elsif !valid_keys.include?(key) raise ArgumentError, "Invalid key: #{key.inspect}." \ "Allowed keys are: #{valid_keys.map(&:inspect).join(', ')}" end end