Module: Setter

Defined in:
lib/setter/setter.rb,
lib/setter/settings.rb

Defined Under Namespace

Modules: Settings

Instance Method Summary collapse

Instance Method Details

#set(receiver, name = nil) ⇒ Object



2
3
4
5
# File 'lib/setter/setter.rb', line 2

def set(receiver, name=nil)
  set_attributes(receiver) unless name
  set_attribute(receiver, name) if name
end

#set_attribute(receiver, name) ⇒ Object



13
14
15
# File 'lib/setter/setter.rb', line 13

def set_attribute(receiver, name)
  receiver.send :"#{name}=", (send name) if respond_to?(name)
end

#set_attributes(receiver) ⇒ Object



7
8
9
10
11
# File 'lib/setter/setter.rb', line 7

def set_attributes(receiver)
  receiver.class.settings.each do |name|
    set_attribute receiver, name
  end
end