Sha256: 7da1c9309a35b14c2cd557f0595e88cc834533f2b2363fb6fed510f38faabd15

Contents?: true

Size: 557 Bytes

Versions: 47

Compression:

Stored size: 557 Bytes

Contents

class Object #:nodoc:
  module InstanceExecHelper #:nodoc:
  end
  include InstanceExecHelper
  def instance_eval_with_params(*args, &block)
    begin
      old_critical, Thread.critical = Thread.critical, true
      n = 0
      n += 1 while respond_to?(mname="__instance_exec#{n}")
      InstanceExecHelper.module_eval{ define_method(mname, &block) }
    ensure
      Thread.critical = old_critical
    end
    begin
      ret = send(mname, *args)
    ensure
      InstanceExecHelper.module_eval{ remove_method(mname) } rescue nil
    end
    ret
  end
end

Version data entries

47 entries across 47 versions & 10 rubygems

Version Path
mongomatic-0.0.4 lib/mongomatic/validatable/object_extension.rb
mongomatic-0.0.3 lib/mongomatic/validatable/object_extension.rb
mongomatic-0.0.2 lib/validatable/object_extension.rb
mattmatt-validatable-1.8.4 lib/validatable/object_extension.rb
mattmatt-validatable-1.8.3 lib/validatable/object_extension.rb
jnunemaker-validatable-1.8.4 lib/validatable/object_extension.rb
jnunemaker-validatable-1.8.3 lib/validatable/object_extension.rb
jnunemaker-validatable-1.8.2 lib/validatable/object_extension.rb
jnunemaker-validatable-1.1.10 lib/validatable/object_extension.rb
jnunemaker-validatable-1.1.9 lib/validatable/object_extension.rb
durran-validatable-2.0.1 lib/object_extension.rb
durran-validatable-2.0.0 lib/object_extension.rb
durran-validatable-1.8.4 lib/object_extension.rb
durran-validatable-1.8.3 lib/object_extension.rb
jnunemaker-validatable-1.8.1 lib/validatable/object_extension.rb
durran-validatable-1.8.2 lib/object_extension.rb
durran-validatable-1.8.1 lib/object_extension.rb
durran-validatable-1.8.0 lib/object_extension.rb
durran-validatable-1.7.5 lib/object_extension.rb
jnunemaker-validatable-1.8.0 lib/validatable/object_extension.rb