module Sprockets::SasscProcessor::Functions

Public: Functions injected into Sass context during Sprockets evaluation.

This module may be extended to add global functionality to all Sprockets Sass environments. Though, scoping your functions to just your environment is preferred.

module Sprockets::SasscProcessor::Functions

def asset_path(path, options = {})
end

end

Public Instance Methods

asset_data_url(path) click to toggle source

Public: Generate a data URI for asset path.

path - SassC::Script::Value::String logical asset path

Returns a SassC::Script::Value::String.

# File lib/sprockets/sassc_processor.rb, line 242
def asset_data_url(path)
  url = sprockets_context.asset_data_uri(path.value)
  Autoload::SassC::Script::Value::String.new("url(" + url + ")")
end
asset_path(path, options = {}) click to toggle source

Public: Generate a url for asset path.

Default implementation is deprecated. Currently defaults to Sprockets::Context#asset_path.

Will raise NotImplementedError in the future. Users should provide their own base implementation.

Returns a SassC::Script::Value::String.

# File lib/sprockets/sassc_processor.rb, line 109
def asset_path(path, options = {})
  path = path.value

  path, _, query, fragment = URI.split(path)[5..8]
  path     = sprockets_context.asset_path(path, options)
  query    = "?#{query}" if query
  fragment = "##{fragment}" if fragment

  Autoload::SassC::Script::Value::String.new("#{path}#{query}#{fragment}", :string)
end
asset_url(path, options = {}) click to toggle source

Public: Generate a asset url() link.

path - SassC::Script::Value::String URL path

Returns a SassC::Script::Value::String.

# File lib/sprockets/sassc_processor.rb, line 125
def asset_url(path, options = {})
  Autoload::SassC::Script::Value::String.new("url(#{asset_path(path, options).value})")
end
audio_path(path) click to toggle source

Public: Generate url for audio path.

path - SassC::Script::Value::String URL path

Returns a SassC::Script::Value::String.

# File lib/sprockets/sassc_processor.rb, line 170
def audio_path(path)
  asset_path(path, type: :audio)
end
audio_url(path) click to toggle source

Public: Generate a audio url() link.

path - SassC::Script::Value::String URL path

Returns a SassC::Script::Value::String.

# File lib/sprockets/sassc_processor.rb, line 179
def audio_url(path)
  asset_url(path, type: :audio)
end
font_path(path) click to toggle source

Public: Generate url for font path.

path - SassC::Script::Value::String URL path

Returns a SassC::Script::Value::String.

# File lib/sprockets/sassc_processor.rb, line 188
def font_path(path)
  asset_path(path, type: :font)
end
font_url(path) click to toggle source

Public: Generate a font url() link.

path - SassC::Script::Value::String URL path

Returns a SassC::Script::Value::String.

# File lib/sprockets/sassc_processor.rb, line 197
def font_url(path)
  asset_url(path, type: :font)
end
image_path(path) click to toggle source

Public: Generate url for image path.

path - SassC::Script::Value::String URL path

Returns a SassC::Script::Value::String.

# File lib/sprockets/sassc_processor.rb, line 134
def image_path(path)
  asset_path(path, type: :image)
end
image_url(path) click to toggle source

Public: Generate a image url() link.

path - SassC::Script::Value::String URL path

Returns a SassC::Script::Value::String.

# File lib/sprockets/sassc_processor.rb, line 143
def image_url(path)
  asset_url(path, type: :image)
end
javascript_path(path) click to toggle source

Public: Generate url for javascript path.

path - SassC::Script::Value::String URL path

Returns a SassC::Script::Value::String.

# File lib/sprockets/sassc_processor.rb, line 206
def javascript_path(path)
  asset_path(path, type: :javascript)
end
javascript_url(path) click to toggle source

Public: Generate a javascript url() link.

path - SassC::Script::Value::String URL path

Returns a SassC::Script::Value::String.

# File lib/sprockets/sassc_processor.rb, line 215
def javascript_url(path)
  asset_url(path, type: :javascript)
end
stylesheet_path(path) click to toggle source

Public: Generate url for stylesheet path.

path - SassC::Script::Value::String URL path

Returns a SassC::Script::Value::String.

# File lib/sprockets/sassc_processor.rb, line 224
def stylesheet_path(path)
  asset_path(path, type: :stylesheet)
end
stylesheet_url(path) click to toggle source

Public: Generate a stylesheet url() link.

path - SassC::Script::Value::String URL path

Returns a SassC::Script::Value::String.

# File lib/sprockets/sassc_processor.rb, line 233
def stylesheet_url(path)
  asset_url(path, type: :stylesheet)
end
video_path(path) click to toggle source

Public: Generate url for video path.

path - SassC::Script::Value::String URL path

Returns a SassC::Script::Value::String.

# File lib/sprockets/sassc_processor.rb, line 152
def video_path(path)
  asset_path(path, type: :video)
end
video_url(path) click to toggle source

Public: Generate a video url() link.

path - SassC::Script::Value::String URL path

Returns a SassC::Script::Value::String.

# File lib/sprockets/sassc_processor.rb, line 161
def video_url(path)
  asset_url(path, type: :video)
end

Protected Instance Methods

sprockets_context() click to toggle source

Deprecated: Get the Context instance. Use APIs on #sprockets_environment or #sprockets_dependencies directly.

Returns a Context instance.

# File lib/sprockets/sassc_processor.rb, line 266
def sprockets_context
  options[:sprockets][:context]
end
sprockets_dependencies() click to toggle source

Public: Mutatable set of dependencies.

Returns a Set.

# File lib/sprockets/sassc_processor.rb, line 258
def sprockets_dependencies
  options[:sprockets][:dependencies]
end
sprockets_environment() click to toggle source

Public: The Environment.

Returns Sprockets::Environment.

# File lib/sprockets/sassc_processor.rb, line 251
def sprockets_environment
  options[:sprockets][:environment]
end