Class: Stuff::Configuration

Inherits:
Object
  • Object
show all
Defined in:
lib/cabeza-de-termo/cachivache-helpers/utilities/stuff-configuration.rb

Class Method Summary collapse

Class Method Details

.[](name) ⇒ Object



21
22
23
24
# File 'lib/cabeza-de-termo/cachivache-helpers/utilities/stuff-configuration.rb', line 21

def [](name)
	raise "Can't find variable named #{name.inspect}" unless has_variable?(name)
	variables[name].call
end

.class_named(class_name) ⇒ Object



36
37
38
# File 'lib/cabeza-de-termo/cachivache-helpers/utilities/stuff-configuration.rb', line 36

def class_named(class_name)
	Object.const_get(class_name)
end

.ensure_subclass_exists(class_name) ⇒ Object



40
41
42
# File 'lib/cabeza-de-termo/cachivache-helpers/utilities/stuff-configuration.rb', line 40

def ensure_subclass_exists(class_name)
	define_subclass(class_name) unless is_class_defined?(class_name)
end

.has_variable?(name) ⇒ Boolean

Returns:

  • (Boolean)


9
10
11
# File 'lib/cabeza-de-termo/cachivache-helpers/utilities/stuff-configuration.rb', line 9

def has_variable?(name)
	variables.key?(name)
end

.is_defined?(name) ⇒ Boolean

Returns:

  • (Boolean)


13
14
15
# File 'lib/cabeza-de-termo/cachivache-helpers/utilities/stuff-configuration.rb', line 13

def is_defined?(name)
	has_variable?(name) && !self[name].nil?
end

.let(name, &block) ⇒ Object



17
18
19
# File 'lib/cabeza-de-termo/cachivache-helpers/utilities/stuff-configuration.rb', line 17

def let(name, &block)
	variables[name] = block
end

.variablesObject



5
6
7
# File 'lib/cabeza-de-termo/cachivache-helpers/utilities/stuff-configuration.rb', line 5

def variables()
	@variables ||= {}
end