Class: SimpleStyleSheet::Handler
- Inherits:
-
Object
- Object
- SimpleStyleSheet::Handler
- Defined in:
- lib/simple_style_sheet/handler.rb
Instance Method Summary collapse
-
#initialize(style_sheet_hash, property_name_translator = nil) ⇒ Handler
constructor
A new instance of Handler.
- #value_for(tag = nil, property_name) ⇒ Object
Constructor Details
#initialize(style_sheet_hash, property_name_translator = nil) ⇒ Handler
Returns a new instance of Handler.
4 5 6 7 8 |
# File 'lib/simple_style_sheet/handler.rb', line 4 def initialize(style_sheet_hash, property_name_translator=nil) @map = {} @property_name_translator = property_name_translator populate(style_sheet_hash) end |
Instance Method Details
#value_for(tag = nil, property_name) ⇒ Object
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
# File 'lib/simple_style_sheet/handler.rb', line 10 def value_for(tag=nil, property_name) found = if tag (@map[final_property_name(property_name)] || []) .select { |data| data[:selector].match?(tag) } .max_by { |data| data[:selector].specificity } else (@map[final_property_name(property_name)] || []) .select { |data| data[:selector].empty? } .last end found && found[:value] end |