Module: Spectra::Config

Defined in:
lib/spectra/utilities.rb

Class Method Summary collapse

Class Method Details

.attributesObject



47
48
49
# File 'lib/spectra/utilities.rb', line 47

def attributes
  @attributes ||= {}
end

.method_missing(name, *args) ⇒ Object



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

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



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

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)


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

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