Module: AutoprefixerRails

Defined in:
lib/autoprefixer-rails.rb,
lib/autoprefixer-rails/result.rb,
lib/autoprefixer-rails/version.rb,
lib/autoprefixer-rails/processor.rb,
lib/autoprefixer-rails/sprockets.rb

Overview

Ruby integration with Autoprefixer JS library, which parse CSS and adds only actual prefixed

Defined Under Namespace

Classes: Processor, Result, Sprockets

Constant Summary collapse

VERSION =
'1.1.20140319'.freeze

Class Method Summary collapse

Class Method Details

.install(assets, browsers = nil, opts = {}) ⇒ Object

Add Autoprefixer for Sprockets environment in ‘assets`. You can specify `browsers` actual in your project.



15
16
17
# File 'lib/autoprefixer-rails.rb', line 15

def self.install(assets, browsers = nil, opts = {})
  Sprockets.new( processor(browsers, opts) ).install(assets)
end

.process(css, opts = {}) ⇒ Object

Add prefixes to ‘css`. See `Processor#process` for options.



7
8
9
10
11
# File 'lib/autoprefixer-rails.rb', line 7

def self.process(css, opts = {})
  browsers = opts.delete(:browsers)
  options  = opts.has_key?(:cascade) ? { cascade: opts.delete(:cascade) } : {}
  processor(browsers, options).process(css, opts)
end

.processor(browsers = nil, opts = {}) ⇒ Object

Cache processor instances



20
21
22
23
24
# File 'lib/autoprefixer-rails.rb', line 20

def self.processor(browsers = nil, opts = {})
  @cache  ||= {}
  cache_key = browsers.hash.to_s + opts.hash.to_s
  @cache[cache_key] ||= Processor.new(browsers, opts)
end