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.



253
254
255
256
# File 'lib/sprockets/sass_processor.rb', line 253

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.



120
121
122
123
124
125
126
127
128
129
# File 'lib/sprockets/sass_processor.rb', line 120

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.



136
137
138
# File 'lib/sprockets/sass_processor.rb', line 136

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.



181
182
183
# File 'lib/sprockets/sass_processor.rb', line 181

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.



190
191
192
# File 'lib/sprockets/sass_processor.rb', line 190

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.



199
200
201
# File 'lib/sprockets/sass_processor.rb', line 199

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.



208
209
210
# File 'lib/sprockets/sass_processor.rb', line 208

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.



145
146
147
# File 'lib/sprockets/sass_processor.rb', line 145

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.



154
155
156
# File 'lib/sprockets/sass_processor.rb', line 154

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.



217
218
219
# File 'lib/sprockets/sass_processor.rb', line 217

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.



226
227
228
# File 'lib/sprockets/sass_processor.rb', line 226

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.



235
236
237
# File 'lib/sprockets/sass_processor.rb', line 235

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.



244
245
246
# File 'lib/sprockets/sass_processor.rb', line 244

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.



163
164
165
# File 'lib/sprockets/sass_processor.rb', line 163

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.



172
173
174
# File 'lib/sprockets/sass_processor.rb', line 172

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