Module: SetAttributes::Assign
- Defined in:
- lib/set_attributes/assign.rb
Defined Under Namespace
Classes: Error
Class Method Summary collapse
Class Method Details
.call(receiver, attribute, value, strict: nil) ⇒ Object
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
# 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 |