Sha256: a57415c85af9727a8e2d7d720f29482a7c334cbd32f7d80799d4474749e74050
Contents?: true
Size: 1.11 KB
Versions: 10
Compression:
Stored size: 1.11 KB
Contents
require 'uri' module Polymer module Rails class Component # Selectors for component resources SELECTORS = { html: "link[rel='import']:not([type='css'])", stylesheet: "link[rel='stylesheet'], link[rel='import'][type='css']", javascript: "script[src]" } def initialize(data) @adapter = XmlAdapters::Base.factory @doc = @adapter.parse_document(data) end def stringify @adapter.stringify(@doc) end def replace_node(node, name, content) @adapter.replace_node node, @adapter.create_node(@doc, name, content) end def stylesheets @adapter.css_select(@doc, SELECTORS[:stylesheet]).reject{|tag| is_external? tag.attributes['href'].value} end def javascripts @adapter.css_select(@doc, SELECTORS[:javascript]).reject do |tag| is_external? tag.attributes['src'].value end end def html_imports @adapter.css_select(@doc, SELECTORS[:html]) end private def is_external?(source) !URI(source).host.nil? end end end end
Version data entries
10 entries across 10 versions & 1 rubygems