lib/tracksperanto/block_init.rb in tracksperanto-3.3.6 vs lib/tracksperanto/block_init.rb in tracksperanto-3.3.7
- old
+ new
@@ -1,8 +1,9 @@
# -*- encoding : utf-8 -*-
# Implements the conventional constructor with "hash of attributes" and block support
module Tracksperanto::BlockInit
def initialize(object_attribute_hash = {})
- object_attribute_hash.map { |(k, v)| send("#{k}=", v) }
+ m = method(respond_to?(:public_send) ? :public_send : :send)
+ object_attribute_hash.map { |(k, v)| m.call("#{k}=", v) }
yield(self) if block_given?
end
end