Module: ARSettings::SettingsClass_ClassMethods

Defined in:
lib/arsettings/settings_class_methods.rb

Instance Method Summary collapse

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(name, *args) ⇒ Object



21
22
23
24
25
26
27
28
29
# File 'lib/arsettings/settings_class_methods.rb', line 21

def method_missing(name,*args)
  if name =~ /\A[A-Z]/
    const_get name , *args
  elsif name.to_s !~ /=$/ || ( name.to_s =~ /=$/ && args.size == 1 )
    package(self).send name , *args
  else
    super
  end
end

Instance Method Details

#add(name, options = {}, &proc) ⇒ Object



12
13
14
15
16
17
18
19
# File 'lib/arsettings/settings_class_methods.rb', line 12

def add( name , options={} , &proc )
  options = name if name.is_a? Hash
  if options[:package]
    package options.delete(:package)
  else
    package self
  end.add( name , options , &proc )
end

#package(package) ⇒ Object



8
9
10
# File 'lib/arsettings/settings_class_methods.rb', line 8

def package(package)
  Packaged.instance self , package
end

#reset_allObject



4
5
6
# File 'lib/arsettings/settings_class_methods.rb', line 4

def reset_all
  Packaged.instances(self).each { |name,package| package.reset }
end