Module: MDQuery::Util

Defined in:
lib/mdquery/util.rb

Class Method Summary collapse

Class Method Details

.assign_attributes(obj, attrs, permitted_keys = nil) ⇒ Object



11
12
13
14
15
16
17
18
# File 'lib/mdquery/util.rb', line 11

def assign_attributes(obj, attrs, permitted_keys = nil)
  unknown_keys = attrs.keys.map(&:to_s).to_set - permitted_keys.map(&:to_s).to_set if permitted_keys
  raise "unknown keys: #{unknown_keys.to_a.inspect}. permitted keys are: #{permitted_keys.inspect}" if unknown_keys && !unknown_keys.empty?

  attrs.each do |attr,val|
    obj.instance_variable_set("@#{attr}", val)
  end
end