Module: Sprockets::Helpers::RailsHelper

Extended by:
ActiveSupport::Concern
Includes:
ActionView::Helpers::AssetTagHelper
Defined in:
lib/sprockets/helpers/rails_helper.rb

Defined Under Namespace

Classes: AssetPaths

Constant Summary

Constants included from ActionView::Helpers::TagHelper

ActionView::Helpers::TagHelper::BOOLEAN_ATTRIBUTES, ActionView::Helpers::TagHelper::PRE_CONTENT_STRINGS

Instance Method Summary collapse

Methods included from ActionView::Helpers::AssetTagHelper

#audio_path, #audio_tag, #auto_discovery_link_tag, #favicon_link_tag, #image_alt, #image_tag, #video_path, #video_tag

Methods included from ActionView::Helpers::TagHelper

#cdata_section, #content_tag, #escape_once, #tag

Methods included from ActionView::Helpers::CaptureHelper

#capture, #content_for, #content_for?, #flush_output_buffer, #provide, #with_output_buffer

Instance Method Details

#asset_path(source, options = {}) ⇒ Object Also known as: path_to_asset



54
55
56
57
58
# File 'lib/sprockets/helpers/rails_helper.rb', line 54

def asset_path(source, options = {})
  source = source.logical_path if source.respond_to?(:logical_path)
  path = asset_paths.compute_public_path(source, asset_prefix, options.merge(:body => true))
  options[:body] ? "#{path}?body=1" : path
end

#asset_pathsObject



9
10
11
12
13
14
15
16
17
18
# File 'lib/sprockets/helpers/rails_helper.rb', line 9

def asset_paths
  @asset_paths ||= begin
    paths = RailsHelper::AssetPaths.new(config, controller)
    paths.asset_environment = asset_environment
    paths.asset_digests     = asset_digests
    paths.compile_assets    = compile_assets?
    paths.digest_assets     = digest_assets?
    paths
  end
end

#font_path(source) ⇒ Object Also known as: path_to_font



66
67
68
# File 'lib/sprockets/helpers/rails_helper.rb', line 66

def font_path(source)
  path_to_asset(source)
end

#image_path(source) ⇒ Object Also known as: path_to_image



61
62
63
# File 'lib/sprockets/helpers/rails_helper.rb', line 61

def image_path(source)
  path_to_asset(source)
end

#javascript_include_tag(*sources) ⇒ Object



20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# File 'lib/sprockets/helpers/rails_helper.rb', line 20

def javascript_include_tag(*sources)
  options = sources.extract_options!
  debug = options.key?(:debug) ? options.delete(:debug) : debug_assets?
  body  = options.key?(:body)  ? options.delete(:body)  : false
  digest  = options.key?(:digest)  ? options.delete(:digest)  : digest_assets?

  sources.collect do |source|
    if debug && asset = asset_paths.asset_for(source, 'js')
      asset.to_a.map { |dep|
        super(dep.pathname.to_s, { :src => path_to_asset(dep, :ext => 'js', :body => true, :digest => digest) }.merge!(options))
      }
    else
      super(source.to_s, { :src => path_to_asset(source, :ext => 'js', :body => body, :digest => digest) }.merge!(options))
    end
  end.flatten.uniq.join("\n").html_safe
end

#javascript_path(source) ⇒ Object Also known as: path_to_javascript



71
72
73
# File 'lib/sprockets/helpers/rails_helper.rb', line 71

def javascript_path(source)
  path_to_asset(source, :ext => 'js')
end


37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
# File 'lib/sprockets/helpers/rails_helper.rb', line 37

def stylesheet_link_tag(*sources)
  options = sources.extract_options!
  debug   = options.key?(:debug) ? options.delete(:debug) : debug_assets?
  body    = options.key?(:body)  ? options.delete(:body)  : false
  digest  = options.key?(:digest)  ? options.delete(:digest)  : digest_assets?

  sources.collect do |source|
    if debug && asset = asset_paths.asset_for(source, 'css')
      asset.to_a.map { |dep|
        super(dep.pathname.to_s, { :href => path_to_asset(dep, :ext => 'css', :body => true, :protocol => :request, :digest => digest) }.merge!(options))
      }
    else
      super(source.to_s, { :href => path_to_asset(source, :ext => 'css', :body => body, :protocol => :request, :digest => digest) }.merge!(options))
    end
  end.flatten.uniq.join("\n").html_safe
end

#stylesheet_path(source) ⇒ Object Also known as: path_to_stylesheet



76
77
78
# File 'lib/sprockets/helpers/rails_helper.rb', line 76

def stylesheet_path(source)
  path_to_asset(source, :ext => 'css')
end