class Roadie::Rails::AssetPipelineProvider
Constants
- DIGEST_PATTERN
Attributes
pipeline[R]
Public Class Methods
new(pipeline)
click to toggle source
Calls superclass method
# File lib/roadie/rails/asset_pipeline_provider.rb, line 8 def initialize(pipeline) unless pipeline raise( ArgumentError, "You need to pass a pipeline to initialize AssetPipelineProvider", ) end super() @pipeline = pipeline end
Public Instance Methods
find_stylesheet(name)
click to toggle source
# File lib/roadie/rails/asset_pipeline_provider.rb, line 20 def find_stylesheet(name) if (asset = find_asset_in_pipeline(name)) Stylesheet.new("#{filename(asset)} (live compiled)", asset.to_s) end end
Private Instance Methods
asset_prefix()
click to toggle source
# File lib/roadie/rails/asset_pipeline_provider.rb, line 62 def asset_prefix ::Rails.application.try(:config).try(:assets).try(:prefix) || "/assets" end
filename(asset)
click to toggle source
# File lib/roadie/rails/asset_pipeline_provider.rb, line 27 def filename(asset) if asset.respond_to?(:filename) # sprockets 4 or later asset.filename else asset.pathname end end
find_asset_in_pipeline(name)
click to toggle source
# File lib/roadie/rails/asset_pipeline_provider.rb, line 35 def find_asset_in_pipeline(name) normalized_name = normalize_asset_name(name) @pipeline[normalized_name] || @pipeline[remove_asset_digest(normalized_name)] end
normalize_asset_name(href)
click to toggle source
# File lib/roadie/rails/asset_pipeline_provider.rb, line 41 def normalize_asset_name(href) remove_asset_prefix(href.split("?").first) end
remove_asset_digest(path)
click to toggle source
# File lib/roadie/rails/asset_pipeline_provider.rb, line 54 def remove_asset_digest(path) path.gsub(DIGEST_PATTERN, ".") end
remove_asset_prefix(path)
click to toggle source
# File lib/roadie/rails/asset_pipeline_provider.rb, line 58 def remove_asset_prefix(path) path.sub(Regexp.new("^#{Regexp.quote(asset_prefix)}/?"), "") end