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