module SetAttributes::Assign
Public Class Methods
call(receiver, attribute, value, strict: nil)
click to toggle source
# File lib/set_attributes/assign.rb, line 5 def self.call(receiver, attribute, value, strict: nil) strict = true if strict.nil? setter = :"#{attribute}=" if receiver.respond_to?(setter) receiver.send(setter, value) else if strict error_msg = "#{receiver} has no setter for #{attribute}" raise Error, error_msg end end value end