Parent

Class Index [+]

Quicksearch

Object

from whytheluckystiff.net/articles/seeingMetaclassesClearly.html

Public Instance Methods

app() click to toggle source
    # File lib/ramaze/spec/bacon.rb, line 37
37:   def app; Ramaze.middleware; end
class_def(name, &blk) click to toggle source

Defines an instance method within a class

    # File lib/ramaze/snippets/metaid.rb, line 14
14:   def class_def name, &blk
15:     class_eval { define_method name, &blk }
16:   end
meta_def(name, &blk) click to toggle source

Adds methods to a metaclass

    # File lib/ramaze/snippets/metaid.rb, line 9
 9:   def meta_def name, &blk
10:     meta_eval { define_method name, &blk }
11:   end
meta_eval(&blk;) click to toggle source
   # File lib/ramaze/snippets/metaid.rb, line 6
6:   def meta_eval &blk; metaclass.instance_eval(&blk); end
metaclass() click to toggle source

The hidden singleton lurks behind everyone

   # File lib/ramaze/snippets/metaid.rb, line 5
5:   def metaclass; class << self; self; end; end
spec_precondition(name) click to toggle source
    # File lib/ramaze/spec/bacon.rb, line 18
18: def spec_precondition(name)
19:   yield
20: rescue LoadError => ex
21:   puts "Spec require: %p failed: %p" % [name, ex.message]
22:   exit 0
23: rescue Exception => ex
24:   puts "Spec precondition: %p failed: %p" % [name, ex.message]
25:   exit 0
26: end
spec_requires(*libs) click to toggle source
    # File lib/ramaze/spec/bacon.rb, line 11
11: def spec_requires(*libs)
12:   spec_precondition 'require' do
13:     libs.each { |lib| require(lib) }
14:   end
15: end
spec_template(spec_engine) click to toggle source
    # File lib/ramaze/spec/helper/template_examples.rb, line 7
 7:   def spec_template(spec_engine)
 8:     it 'works on /' do
 9:       get('/').body.strip.
10:         should =~ %{<a href\s*=\s*"/">Home</a>\s+\|\s+<a href\s*=\s*"/internal">internal</a>\s+\|\s+<a href\s*=\s*"/external">external</a>}
11:     end
12: 
13:     ]/internal /external].each do |url|
14:       it "works on #{url}" do
15:         html = get(url).body
16:         html.should.not == nil
17:         html.should =~ %{<title>Template::#{spec_engine} (internal|external)</title>}
18:         html.should =~ %{<h1>The (internal|external) Template for #{spec_engine}</h1>}
19:       end
20:     end
21:   end

Disabled; run with --debug to generate this.

[Validate]

Generated with the Darkfish Rdoc Generator 1.1.6.