Module: MethodArguments::InstanceMethods

Defined in:
lib/method_arguments.rb

Instance Method Summary collapse

Instance Method Details

#set_instance_vars(args, use_writers: false) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
# File 'lib/method_arguments.rb', line 6

def set_instance_vars(args, use_writers: false)
  raise "Call this method on instances only" if self.instance_of?(Class) || self.instance_of?(Module)

  args.each_pair do |name, value|
    if use_writers && respond_to?(writer = :"#{name}=", true)
      send(writer, value)
    else
      instance_variable_set("@#{name}", value)
    end
  end
end