The Stylesheet gem provides a parser for CSS Stylesheets based on the DOM API
Get styles from a document:
document = Stylesheet::Document.new("http://sportspyder.com")
=> #<Document location:http://sportspyder.com/>
document.style_sheets
=> [#<Stylesheet::CssStyleSheet:0x007fa905c58c20>,
#<Stylesheet::CssStyleSheet:0x007fa905c5f430>,
#<Stylesheet::CssStyleSheet:0x007fa905c5e968>]
Get attributes of a stylesheet:
sheet = document.style_sheets[0]
=> #<Stylesheet::CssStyleSheet:0x007fa905c58c20>
sheet.href
=> "http://sportspyder.com/assets/application-26ff2c8d54ab9cd8e74af60fc650390e.css"
sheet.type
=> "text/css"
Get stylesheet media definitions:
sheet.media.map {|medium| medium }
=> ["screen"]
Get rules defined in a stylesheet:
sheet = Stylesheet::CssStyleSheet.new("http://sportspyder.com/stylesheets/screen.css")
=> #<Stylesheet::CssStyleSheet:0x007fa905c58c20>
rule = sheet.css_rules[0]
=> #<Stylesheet::CssStyleRule>
rule.css_text
=> "iframe.editor{width:580px;height:150px;border:1px solid #ccc;background-color:#fff}"
rule.selector_text
=> "iframe.editor"
Get declarations defined in a style rules:
rule.style[0]
=> "width:580px"
rule.style.border
=> "1px solid #ccc"
To install Stylesheet, add the gem to your Gemfile:
gem "stylesheet"
Copyright (c) 2013 Derek DeVries
Released under the MIT License