Sha256: 4b2d877f9169f8d64609a38522b18df451d6e7d064565346e507d7a92b5d2b68

Contents?: true

Size: 706 Bytes

Versions: 9

Compression:

Stored size: 706 Bytes

Contents

class BasicObject #:nodoc:
  instance_methods.each { |m| undef_method m unless m =~ /(^__|^nil\?$|^send$|^methods$|instance_eval|proxy_|^object_id$)/ }
end unless defined?(BasicObject)

class Boolean
  def self.mm_typecast(value)
    ['true', 't', '1'].include?(value.to_s.downcase)
  end
end

class Object
  # The hidden singleton lurks behind everyone
  def metaclass
    class << self; self end
  end

  def meta_eval(&blk)
    metaclass.instance_eval(&blk)
  end

  # Adds methods to a metaclass
  def meta_def(name, &blk)
    meta_eval { define_method(name, &blk) }
  end

  # Defines an instance method within a class
  def class_def(name, &blk)
    class_eval { define_method(name, &blk) }
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
hashrocket-mongomapper-0.3.10 lib/mongomapper/support.rb
hashrocket-mongomapper-0.3.11 lib/mongomapper/support.rb
hashrocket-mongomapper-0.3.12 lib/mongomapper/support.rb
hashrocket-mongomapper-0.3.13 lib/mongomapper/support.rb
hashrocket-mongomapper-0.3.14 lib/mongomapper/support.rb
hashrocket-mongomapper-0.3.15 lib/mongomapper/support.rb
hashrocket-mongomapper-0.3.6 lib/mongomapper/support.rb
hashrocket-mongomapper-0.3.7 lib/mongomapper/support.rb
hashrocket-mongomapper-0.3.8 lib/mongomapper/support.rb