Module: Sprockets::SassProcessor::Functions

Defined in:
lib/sprockets/sass_processor.rb

Overview

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::SassProcessor::Functions

def asset_path(path, options = {})
end

end

Instance Method Summary collapse

Instance Method Details

#asset_data_url(path) ⇒ Object

Public: Generate a data URI for asset path.

path - Sass::Script::String logical asset path

Returns a Sass::Script::String.



241
242
243
244
# File 'lib/sprockets/sass_processor.rb', line 241

def asset_data_url(path)
  url = sprockets_context.asset_data_uri(path.value)
  Autoload::Sass::Script::String.new("url(" + url + ")")
end

#asset_path(path, options = {}) ⇒ Object

Public: Generate a url for asset path.

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

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

Returns a Sass::Script::String.



108
109
110
111
112
113
114
115
116
117
# File 'lib/sprockets/sass_processor.rb', line 108

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::Sass::Script::String.new("#{path}#{query}#{fragment}", :string)
end

#asset_url(path, options = {}) ⇒ Object

Public: Generate a asset url() link.

path - Sass::Script::String URL path

Returns a Sass::Script::String.



124
125
126
# File 'lib/sprockets/sass_processor.rb', line 124

def asset_url(path, options = {})
  Autoload::Sass::Script::String.new("url(#{asset_path(path, options).value})")
end

#audio_path(path) ⇒ Object

Public: Generate url for audio path.

path - Sass::Script::String URL path

Returns a Sass::Script::String.



169
170
171
# File 'lib/sprockets/sass_processor.rb', line 169

def audio_path(path)
  asset_path(path, type: :audio)
end

#audio_url(path) ⇒ Object

Public: Generate a audio url() link.

path - Sass::Script::String URL path

Returns a Sass::Script::String.



178
179
180
# File 'lib/sprockets/sass_processor.rb', line 178

def audio_url(path)
  asset_url(path, type: :audio)
end

#font_path(path) ⇒ Object

Public: Generate url for font path.

path - Sass::Script::String URL path

Returns a Sass::Script::String.



187
188
189
# File 'lib/sprockets/sass_processor.rb', line 187

def font_path(path)
  asset_path(path, type: :font)
end

#font_url(path) ⇒ Object

Public: Generate a font url() link.

path - Sass::Script::String URL path

Returns a Sass::Script::String.



196
197
198
# File 'lib/sprockets/sass_processor.rb', line 196

def font_url(path)
  asset_url(path, type: :font)
end

#image_path(path) ⇒ Object

Public: Generate url for image path.

path - Sass::Script::String URL path

Returns a Sass::Script::String.



133
134
135
# File 'lib/sprockets/sass_processor.rb', line 133

def image_path(path)
  asset_path(path, type: :image)
end

#image_url(path) ⇒ Object

Public: Generate a image url() link.

path - Sass::Script::String URL path

Returns a Sass::Script::String.



142
143
144
# File 'lib/sprockets/sass_processor.rb', line 142

def image_url(path)
  asset_url(path, type: :image)
end

#javascript_path(path) ⇒ Object

Public: Generate url for javascript path.

path - Sass::Script::String URL path

Returns a Sass::Script::String.



205
206
207
# File 'lib/sprockets/sass_processor.rb', line 205

def javascript_path(path)
  asset_path(path, type: :javascript)
end

#javascript_url(path) ⇒ Object

Public: Generate a javascript url() link.

path - Sass::Script::String URL path

Returns a Sass::Script::String.



214
215
216
# File 'lib/sprockets/sass_processor.rb', line 214

def javascript_url(path)
  asset_url(path, type: :javascript)
end

#stylesheet_path(path) ⇒ Object

Public: Generate url for stylesheet path.

path - Sass::Script::String URL path

Returns a Sass::Script::String.



223
224
225
# File 'lib/sprockets/sass_processor.rb', line 223

def stylesheet_path(path)
  asset_path(path, type: :stylesheet)
end

#stylesheet_url(path) ⇒ Object

Public: Generate a stylesheet url() link.

path - Sass::Script::String URL path

Returns a Sass::Script::String.



232
233
234
# File 'lib/sprockets/sass_processor.rb', line 232

def stylesheet_url(path)
  asset_url(path, type: :stylesheet)
end

#video_path(path) ⇒ Object

Public: Generate url for video path.

path - Sass::Script::String URL path

Returns a Sass::Script::String.



151
152
153
# File 'lib/sprockets/sass_processor.rb', line 151

def video_path(path)
  asset_path(path, type: :video)
end

#video_url(path) ⇒ Object

Public: Generate a video url() link.

path - Sass::Script::String URL path

Returns a Sass::Script::String.



160
161
162
# File 'lib/sprockets/sass_processor.rb', line 160

def video_url(path)
  asset_url(path, type: :video)
end