### Home Classes Methods

### In Files

- lib/ramaze/snippets/metaid.rb
- lib/ramaze/spec/bacon.rb
- lib/ramaze/spec/helper/template_examples.rb

### Parent

BasicObject

### Methods

- #app
- #class_def
- #meta_def
- #meta_eval
- #metaclass
- #spec_precondition
- #spec_require
- #spec_requires
- #spec_template

### Class/Module Index

Quicksearch

- Ramaze
- Ramaze::App
- Ramaze::AppGraph
- Ramaze::Bin
- Ramaze::Bin::Console
- Ramaze::Bin::Create
- Ramaze::Bin::Helper
- Ramaze::Bin::Restart
- Ramaze::Bin::Runner
- Ramaze::Bin::Start
- Ramaze::Bin::Status
- Ramaze::Bin::Stop
- Ramaze::Cache
- Ramaze::Cache::LRU
- Ramaze::Cache::LocalMemCache
- Ramaze::Cache::MemCache
- Ramaze::Cache::Redis
- Ramaze::Cache::Sequel
- Ramaze::Controller
- Ramaze::CoreExtensions
- Ramaze::CoreExtensions::Array
- Ramaze::CoreExtensions::Binding
- Ramaze::CoreExtensions::Kernel
- Ramaze::CoreExtensions::Numeric
- Ramaze::CoreExtensions::Object
- Ramaze::CoreExtensions::Proc
- Ramaze::CoreExtensions::String
- Ramaze::Current
- Ramaze::DefaultController
- Ramaze::Dictionary
- Ramaze::Fiber
- Ramaze::Files
- Ramaze::GemSetup
- Ramaze::Gestalt
- Ramaze::Helper
- Ramaze::Helper::Auth
- Ramaze::Helper::Bench
- Ramaze::Helper::BlueForm
- Ramaze::Helper::BlueForm::Form
- Ramaze::Helper::CSRF
- Ramaze::Helper::Cache
- Ramaze::Helper::Cache::SingletonMethods
- Ramaze::Helper::Disqus
- Ramaze::Helper::Email
- Ramaze::Helper::Erector
- Ramaze::Helper::Flash
- Ramaze::Helper::Formatting
- Ramaze::Helper::Gestalt
- Ramaze::Helper::Gravatar
- Ramaze::Helper::Identity
- Ramaze::Helper::Layout
- Ramaze::Helper::Layout::SingletonMethods
- Ramaze::Helper::Link
- Ramaze::Helper::Localize
- Ramaze::Helper::Localize::Dictionary
- Ramaze::Helper::Localize::Parser
- Ramaze::Helper::Markaby
- Ramaze::Helper::Maruku
- Ramaze::Helper::Paginate
- Ramaze::Helper::Paginate::Paginator
- Ramaze::Helper::Paginate::Paginator::ArrayPager
- Ramaze::Helper::Paginate::Paginator::DataMapperPager
- Ramaze::Helper::Remarkably
- Ramaze::Helper::RequestAccessor
- Ramaze::Helper::SendFile
- Ramaze::Helper::SimpleCaptcha
- Ramaze::Helper::Stack
- Ramaze::Helper::Thread
- Ramaze::Helper::Ultraviolet
- Ramaze::Helper::Upload
- Ramaze::Helper::Upload::ClassMethods
- Ramaze::Helper::Upload::UploadedFile
- Ramaze::Helper::UserHelper
- Ramaze::Helper::UserHelper::Wrapper
- Ramaze::Helper::XHTML
- Ramaze::LRUHash
- Ramaze::Logger
- Ramaze::Logger::Analogger
- Ramaze::Logger::Growl
- Ramaze::Logger::Informer
- Ramaze::Logger::Knotify
- Ramaze::Logger::LogHub
- Ramaze::Logger::Logger
- Ramaze::Logger::RotatingInformer
- Ramaze::Logger::Syslog
- Ramaze::Logger::Xosd
- Ramaze::Logging
- Ramaze::MiddlewareCompiler
- Ramaze::Plugin
- Ramaze::Reloader
- Ramaze::Reloader::Hooks
- Ramaze::Reloader::WatchInotify
- Ramaze::Reloader::WatchStat
- Ramaze::Request
- Ramaze::Response
- Ramaze::SpecLogger
- Ramaze::Struct
- Ramaze::View
- Ramaze::View::Erector
- Ramaze::View::Erubis
- Ramaze::View::Ezamar
- Ramaze::View::Gestalt
- Ramaze::View::Haml
- Ramaze::View::Liquid
- Ramaze::View::Liquid::Tag
- Ramaze::View::Lokar
- Ramaze::View::Mustache
- Ramaze::View::Mustache::RamazeContext
- Ramaze::View::Nagoro
- Ramaze::View::Remarkably
- Ramaze::View::Sass
- Ramaze::View::Slippers
- Ramaze::View::Tagz
- Ramaze::View::Tagz::Methods
- Ramaze::View::Tenjin
- Nagoro
- Nagoro::Pipe
- Nagoro::Pipe::RenderPartial
- Bacon
- Bacon::PrettyOutput
- Erector
- Erector::Widget
- Rack
- Rack::RouteExceptions
- Tenjin
- Tenjin::Template
- BlankSlate
- Controller
- Fiber
- FiberError
- MainController
- Object
- OrderedSet
- Thread

No matching classes.

# Object

from whytheluckystiff.net/articles/seeingMetaclassesClearly.html

### Public Instance Methods

app() click to toggle source

    # File lib/ramaze/spec/bacon.rb, line 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
    def class_def name, &blk
      class_eval { define_method name, &blk }
    end

meta_def(name, &blk) click to toggle source

Adds methods to a metaclass

    # File lib/ramaze/snippets/metaid.rb, line 9
    def meta_def name, &blk
      meta_eval { define_method name, &blk }
    end

meta_eval(&blk;) click to toggle source

    # File lib/ramaze/snippets/metaid.rb, line 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
    def metaclass; class << self; self; end; end

spec_precondition(name) click to toggle source

    # File lib/ramaze/spec/bacon.rb, line 18
    def spec_precondition(name)
      yield
    rescue LoadError => ex
      puts "Spec require: %p failed: %p" % [name, ex.message]
      exit 0
    rescue Exception => ex
      puts "Spec precondition: %p failed: %p" % [name, ex.message]
      exit 0
    end

spec_require(*libs) click to toggle source
Alias for: spec_requires
spec_requires(*libs) click to toggle source

    # File lib/ramaze/spec/bacon.rb, line 11
    def spec_requires(*libs)
      spec_precondition 'require' do
        libs.each { |lib| require(lib) }
      end
    end

Also aliased as: spec_require
spec_template(spec_engine) click to toggle source

    # File lib/ramaze/spec/helper/template_examples.rb, line 7
    def spec_template(spec_engine)
      it 'works on /' do
        get('/').body.strip.
          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>}
      end

      ]/internal /external].each do |url|
        it "works on #{url}" do
          html = get(url).body
          html.should.not == nil
          html.should =~ %{<title>Template::#{spec_engine} (internal|external)</title>}
          html.should =~ %{<h1>The (internal|external) Template for #{spec_engine}</h1>}
        end
      end
    end

[Validate]

Generated with the Darkfish Rdoc Generator 2.