module Sass::Script::Functions
Public Instance Methods
exp(modulus, exponent)
click to toggle source
# File lib/rhet-butler/sass-functions.rb, line 6 def exp(modulus, exponent) assert_type modulus, :Number assert_type exponent, :Number Number.new(modulus.value ** exponent.value, modulus.numerator_units, modulus.denominator_units) end
tween(initial, final, ratio)
click to toggle source
# File lib/rhet-butler/sass-functions.rb, line 14 def tween(initial, final, ratio) assert_type initial, :Number assert_type final, :Number assert_type ratio, :Number initial_units = [initial.numerator_units, initial.denominator_units] final_units = [final.numerator_units, final.denominator_units] unless initial_units == final_units raise ArgumentError, "Mismatched units: initial: #{initial_units.inspect} != final: #{final_units.inspect}" end ratio_units = ratio.numerator_units - ratio.denominator_units ratio_value = case ratio_units when %w{%} ratio.value / 100.0 when [] ratio.value else raise ArgumentError, "Bad units for ratio: #{ratio_units.inspect}" end Number.new(initial.value + ((final.value - initial.value) * ratio_value), *initial_units) end