class Shioconv

Constants

VERSION

Attributes

condiment[R]
quantity[R]
unit[R]

Public Class Methods

measure(condiment_name, quantity, unit_name) click to toggle source
# File lib/shioconv.rb, line 11
def self.measure(condiment_name, quantity, unit_name)
  condiment = Condiment.find_by(condiment_name)
  unit      = Unit.find_by(unit_name)

  self.new(condiment: condiment, quantity: quantity, unit: unit)
end
new(condiment: condiment(), quantity: quantity(), unit: unit()) click to toggle source
# File lib/shioconv.rb, line 18
def initialize(condiment: condiment(), quantity: quantity(), unit: unit())
  @condiment = condiment
  @quantity  = quantity
  @unit      = unit
end

Public Instance Methods

method_missing(name, *args) click to toggle source
Calls superclass method
# File lib/shioconv.rb, line 24
def method_missing(name, *args)
  return super unless m = /\Ato_(?<dst_unit>\w+)\Z/.match(name)
  dst_unit = m[:dst_unit].to_sym
  return super unless Unit.convertable?(dst_unit)

  @unit.convert(@condiment, @quantity, dst_unit)
end