Class: Object

Inherits:
BasicObject
Defined in:
lib/puppet/util/metaid.rb,
lib/puppet/util/monkey_patches.rb

Instance Method Summary collapse

Instance Method Details

#assert_that(message = nil) ⇒ Object



62
63
64
65
66
# File 'lib/puppet/util/monkey_patches.rb', line 62

def assert_that(message = nil)
  unless yield
    raise Exception.new("Assertion failure: #{message}")
  end
end

#class_def(name, &blk) ⇒ Object

Defines an instance method within a class



17
18
19
# File 'lib/puppet/util/metaid.rb', line 17

def class_def(name, &blk)
  class_eval { define_method name, &blk }
end

#meta_def(name, &blk) ⇒ Object

Adds methods to a singleton_class



7
8
9
# File 'lib/puppet/util/metaid.rb', line 7

def meta_def(name, &blk)
  meta_eval { define_method name, &blk }
end

#meta_eval(&blk) ⇒ Object



4
# File 'lib/puppet/util/metaid.rb', line 4

def meta_eval(&blk); singleton_class.instance_eval(&blk); end

#meta_undef(name, &blk) ⇒ Object

Remove singleton_class methods.



12
13
14
# File 'lib/puppet/util/metaid.rb', line 12

def meta_undef(name, &blk)
  meta_eval { remove_method name }
end

#singleton_classObject

The hidden singleton lurks behind everyone



3
# File 'lib/puppet/util/metaid.rb', line 3

def singleton_class; class << self; self; end; end