Class: Arbre::Html::StyleHash

Inherits:
Hash
  • Object
show all
Defined in:
lib/arbre/html/style_hash.rb

Overview

A style definition for an HTML element.

Instance Method Summary collapse

Constructor Details

#initialize(value = nil) ⇒ StyleHash

Returns a new instance of StyleHash.



7
8
9
10
11
12
13
14
15
16
# File 'lib/arbre/html/style_hash.rb', line 7

def initialize(value = nil)
  super()

  case value
  when String
    parse value
  when Hash
    update value
  end
end

Instance Method Details

#[](name) ⇒ Object



36
37
38
# File 'lib/arbre/html/style_hash.rb', line 36

def [](name)
  super name.to_s.underscore.dasherize
end

#[]=(name, value) ⇒ Object

Make sure to store everything as dasherized values.



33
34
35
# File 'lib/arbre/html/style_hash.rb', line 33

def []=(name, value)
  super name.to_s.underscore.dasherize, value
end

#delete(name) ⇒ Object



44
45
46
# File 'lib/arbre/html/style_hash.rb', line 44

def delete(name)
  super name.to_s.underscore.dasherize
end

#styleObject

Alias to the hash itself.



28
29
30
# File 'lib/arbre/html/style_hash.rb', line 28

def style
  self
end

#to_sObject



48
49
50
# File 'lib/arbre/html/style_hash.rb', line 48

def to_s
  map{ |n, v| "#{n}: #{v};" }.join(' ')
end

#update(value) ⇒ Object



40
41
42
# File 'lib/arbre/html/style_hash.rb', line 40

def update(value)
  value.each { |name, value| self[name] = value }
end