Sha256: 4b1ae363ec8e6c096f440488a96086cf252c5aee5cf6092799a0200d3557a8ef

Contents?: true

Size: 639 Bytes

Versions: 1

Compression:

Stored size: 639 Bytes

Contents

require 'sass'

module Ultimate
  module Extensions
    module SassScriptFunctions
      def polar(x, y)
        assert_type x, :Number
        assert_type y, :Number

        theta = Sass::Script::Number.new(Math.atan2(y.value, x.value) / Math::PI * 180 + 90)
        r = Sass::Script::Number.new(Math.hypot(x.value, y.value))
        Sass::Script::List.new([theta, r], :comma)
      end

      Sass::Script::Functions.declare :polar, [:x, :y]
    end
  end
end

module Sass::Script::Functions
  include Ultimate::Extensions::SassScriptFunctions
end

class Sass::Script::Functions::EvaluationContext
  include Sass::Script::Functions
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
ultimate-mixins-0.1.0.0 lib/ultimate/extensions/sass_script_functions.rb