Sha256: d6712dac02857353fa8ca7b7be0476842a0f2216c0a2f77945c96bf5f41e988c

Contents?: true

Size: 1.67 KB

Versions: 2

Compression:

Stored size: 1.67 KB

Contents

require 'sass'

module Sass::Script::Functions
  # set the Susy column and gutter widths and number of columns
  #  column and gutter widths should be sent as unitless numbers, 
  #  though they may "really" be ems or pixels (_grid.sass handles units).
  # return total width of container (without units)
  def container(total_columns, column_width, gutter_width)
    @@susy_total_columns = total_columns.value
    @@susy_column_width = Float(column_width.value)
    @@susy_gutter_width = Float(gutter_width.value)
    context
  end

  # return the width of 'n' columns plus 'n - 1' gutters
  def context(n = nil)
    begin
      n = n.value
    rescue NoMethodError
      n = @@susy_total_columns
    end
    c, g = [@@susy_column_width, @@susy_gutter_width]
    Sass::Script::Number.new((n * c) + ((n - 1) * g))
  end

  # return the percentage width of 'number' columns in a context of
  #  'context_columns'
  def columns(number, context_columns = nil)
    n = number.value
    context_width = context(context_columns).value
    c, g = [@@susy_column_width, @@susy_gutter_width]
    Sass::Script::Number.new((((n * c) + ((n - 1) * g)) / context_width) * 100)
  end

  # return the percentage width of a single gutter in a context of
  #  'context_columns'
  def gutter(context_columns = nil)
    context_width = context(context_columns).value
    g = @@susy_gutter_width
    Sass::Script::Number.new((g / context_width) * 100)
  end

  # return the percentage width of a single column in a context of
  #  'context_columns'
  def column(context_columns = nil)
    context_width = context(context_columns).value
    c = @@susy_column_width
    Sass::Script::Number.new((c / context_width) * 100)
  end
end

Version data entries

2 entries across 2 versions & 2 rubygems

Version Path
carljm-compass-susy-plugin-0.2.0 lib/susy/sass_extensions.rb
ericam-compass-susy-plugin-0.2.0 lib/susy/sass_extensions.rb