Sha256: ec2b363ffc6678bd58965d53d93ba6a0bb2cd186ac10d5b06d3115f5d50ff030

Contents?: true

Size: 880 Bytes

Versions: 4

Compression:

Stored size: 880 Bytes

Contents

require 'sass/css'

class AssetFormat::Css < AssetFormat
  CONTENT_TYPE = 'text/css'
  IMPORT = /[\/\* ]*@import[ "'\(]+([^url][^\s"'\);]+)[ "'\);\*\/]*/
  EXTEND_FORMATS = [:sass, :scss]

  def minify text
    ::Sass::Engine.new(::Sass::CSS.new(text).render(:sass), MINIFY_OPTIONS).render
  end

  def sass text
    ::Sass::Engine.new("@import compass\n" << text, SASS_OPTIONS).render
  end

  def scss text
    ::Sass::Engine.new("@import \"compass\";\n" << text, SCSS_OPTIONS).render
  end

  private
  
  COMPASS_OPTIONS = Compass.sass_engine_options.merge({ line_comments: false })
  COMPASS_OPTIONS[:load_paths].push(File.realpath(Rails.root) << '/app/assets')
  MINIFY_OPTIONS = { syntax: :sass, style: :compressed }
  SASS_OPTIONS = { syntax: :sass, style: :expanded }.merge(COMPASS_OPTIONS)
  SCSS_OPTIONS = { syntax: :scss, style: :expanded }.merge(COMPASS_OPTIONS)
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
zfben_rails_assets-0.0.13 app/models/asset_format/css.rb
zfben_rails_assets-0.0.12 app/models/asset_format/css.rb
zfben_rails_assets-0.0.11 app/models/asset_format/css.rb
zfben_rails_assets-0.0.10 app/models/asset_format/css.rb