Class: SimpleStyleSheet::Handler

Inherits:
Object
  • Object
show all
Defined in:
lib/simple_style_sheet/handler.rb

Instance Method Summary collapse

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