class DocomoCss::Stylesheet
Attributes
path[R]
Public Class Methods
new(href)
click to toggle source
# File lib/docomo_css/stylesheet.rb, line 5 def initialize(href) @href = href @path = href && path_from_href(href) end
Public Instance Methods
asset_css()
click to toggle source
# File lib/docomo_css/stylesheet.rb, line 14 def asset_css return nil unless Rails.application.config.assets.prefix path, query = extract_path_and_query(@href) path = path.sub(/^#{ Rails.application.config.assets.prefix }/, ''). sub(/^\//, '') if Rails.application.config.assets.digest path = path.sub(/(.+)\-\w+(.+)/, '\1\2') end asset = Rails.application.assets. find_asset(path, :bundle => !body_only?(query)) asset ? asset.to_s : nil end
valid?()
click to toggle source
# File lib/docomo_css/stylesheet.rb, line 10 def valid? path && FileTest.exist?(path) end
Private Instance Methods
body_only?(query)
click to toggle source
# File lib/docomo_css/stylesheet.rb, line 47 def body_only?(query) query =~ /body=(1|t)/ end
extract_path_and_query(href)
click to toggle source
# File lib/docomo_css/stylesheet.rb, line 38 def extract_path_and_query(href) if href =~ /(.+)\?(.+)/ path, query = $1, $2 else path, query = href, '' end [path, query] end
path_from_href(href)
click to toggle source
# File lib/docomo_css/stylesheet.rb, line 32 def path_from_href(href) base_path = href.gsub(ActionController::Base.asset_host.to_s, ''). gsub(/\?\d+/, '') File.join(Rails.root, 'public', base_path) end