# File lib/cairo/paper.rb, line 72 def resolve_unit(size, from_unit, to_unit) from_unit ||= default_unit return size if from_unit == to_unit from_units = @@unit_resolvers[from_unit] || [] raise UnknownUnit.new(from_unit) if from_units.empty? from_units.each do |unit, resolver| return resolver.call(size) if to_unit == unit end raise UnknownUnit.new(to_unit) end