Module: Spectra::Config

Defined in:
lib/spectra/utilities.rb

Class Method Summary collapse

Class Method Details

.attributesObject



53
54
55
# File 'lib/spectra/utilities.rb', line 53

def attributes
  @attributes ||= {}
end

.method_missing(name, *args) ⇒ Object



62
63
64
65
66
# File 'lib/spectra/utilities.rb', line 62

def method_missing(name, *args)
  key, is_setter = parse_name(name)
  self.attributes[key] = args[0] if is_setter
  self.attributes[key]
end

.parse_name(name) ⇒ Object



68
69
70
71
72
73
74
75
76
# File 'lib/spectra/utilities.rb', line 68

def parse_name(name) 
  key, is_setter = name.intern, false
  
  if /^(\w+)=$/ =~ name
    key, is_setter = $1.intern, true
  end
  
  return key, is_setter 
end

.respond_to?(name) ⇒ Boolean

Returns:

  • (Boolean)


57
58
59
60
# File 'lib/spectra/utilities.rb', line 57

def respond_to?(name)
  key = parse_name(name)
  super || self.attributes[key] 
end