Sha256: 4c4bab8b2115d7dbca1c7fe120e13cf34ba3672a866ac16459f880cf41c5d312
Contents?: true
Size: 950 Bytes
Versions: 1
Compression:
Stored size: 950 Bytes
Contents
# encoding: UTF-8 require 'css_parser' class Galakei::DocomoCss::InlineStylesheet def self.filter(controller) return unless controller.request.imode_browser_1_0? doc = Nokogiri::HTML(controller.response.body) stylesheets = doc.xpath('//link[@rel="stylesheet"]') return if stylesheets.empty? stylesheets.each do |e| e.unlink stylesheet = Galakei::DocomoCss::Stylesheet.new(parser(e['href'])) stylesheet.apply(doc) end controller.response.body = doc.to_xhtml(:encoding => doc.encoding) end private def self.parser(href) parser = CssParser::Parser.new uri = URI.parse(href) if uri.host && uri.scheme && uri.port parser.load_uri!(uri) else parser.load_file!(path(href)) end return parser end def self.path(href) base_path = href.gsub(ActionController::Base.asset_host || '', '').gsub(/\?\d+/,'') File.join(Rails.root, 'public', base_path) end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
galakei-0.6.0 | lib/galakei/docomo_css/inline_stylesheet.rb |