Class: Hatemile::Util::Css::Rcp::RCPParser
- Inherits:
-
StyleSheetParser
- Object
- StyleSheetParser
- Hatemile::Util::Css::Rcp::RCPParser
- Includes:
- CssParser
- Defined in:
- lib/hatemile/util/css/rcp/rcp_parser.rb
Overview
The RCPParser class is official implementation of Hatemile::Util::Css::StyleSheetParser for Ruby CSS Parser.
Instance Method Summary collapse
- #get_rules(properties = nil) ⇒ Object
-
#initialize(css_or_hp, current_url = nil) ⇒ RCPParser
constructor
Initializes a new object that encapsulate the Ruby CSS Parser.
Constructor Details
#initialize(css_or_hp, current_url = nil) ⇒ RCPParser
Initializes a new object that encapsulate the Ruby CSS Parser.
73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 |
# File 'lib/hatemile/util/css/rcp/rcp_parser.rb', line 73 def initialize(css_or_hp, current_url = nil) Hatemile::Helper.require_not_nil(css_or_hp) Hatemile::Helper.require_valid_type( css_or_hp, Hatemile::Util::Html::HTMLDOMParser, String ) Hatemile::Helper.require_valid_type(current_url, String) @css_parser = CssParser::Parser.new if css_or_hp.is_a?(String) @css_parser.load_string!(css_or_hp) else load_stylesheets(css_or_hp, current_url) end end |
Instance Method Details
#get_rules(properties = nil) ⇒ Object
92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 |
# File 'lib/hatemile/util/css/rcp/rcp_parser.rb', line 92 def get_rules(properties = nil) rules = [] @css_parser.each_rule_set do |rule| auxiliar_rule = RCPRule.new(rule) if properties.nil? rules.push(auxiliar_rule) next end properties.each do |property_name| if auxiliar_rule.has_property?(property_name) rules.push(auxiliar_rule) break end end end rules end |