Class: Utopia::Content::SymbolicHash

Inherits:
Hash
  • Object
show all
Defined in:
lib/utopia/content/markup.rb

Overview

A hash which forces all keys to be symbols and fails with KeyError when strings are used.

Instance Method Summary collapse

Instance Method Details

#[](key) ⇒ Object

Raises:

  • (KeyError)


17
18
19
20
# File 'lib/utopia/content/markup.rb', line 17

def [] key
	raise KeyError.new("attribute #{key} is a string, prefer a symbol") if key.is_a? String
	super key.to_sym
end

#[]=(key, value) ⇒ Object



22
23
24
# File 'lib/utopia/content/markup.rb', line 22

def []= key, value
	super key.to_sym, value
end

#fetch(key, *arguments, &block) ⇒ Object



26
27
28
29
30
# File 'lib/utopia/content/markup.rb', line 26

def fetch(key, *arguments, &block)
	key = key.to_sym
	
	super
end

#include?(key) ⇒ Boolean

Returns:

  • (Boolean)


32
33
34
35
36
# File 'lib/utopia/content/markup.rb', line 32

def include? key
	key = key.to_sym
	
	super
end