class RhetButler::Stasis::CSSTransform

Public Instance Methods

parse_document() click to toggle source
# File lib/rhet-butler/stasis/css-transform.rb, line 8
def parse_document
  @parsed = Crass::parse(document.body)
end
render_document() click to toggle source
# File lib/rhet-butler/stasis/css-transform.rb, line 51
def render_document
  Crass::Parser.stringify(@parsed)
end
url_nodes(node_list) click to toggle source
# File lib/rhet-butler/stasis/css-transform.rb, line 12
def url_nodes(node_list)
  return [] if node_list.nil?

  list = []

  node_list.each do |node|
    case node[:node]
    when :url
      list << node
    when :at_rule
      if node[:name] == "import"
        list += node[:prelude].find_all do |node|
          node[:node] == :url or node[:node] == :string
        end
      else
        children = node
        [:block, :value].each do |key|
          children = children[key]
          break if children.nil?
          break if children.is_a? Array
        end
        list += url_nodes(children)
      end
    else
      list += url_nodes(node[:children])
    end
  end
  return list
end