Module: Ramaze::Helper::Gestalt

### Home Classes Methods

### In Files

- lib/ramaze/helper/gestalt.rb

### Methods

- #build
- #g
- #g_class
- #gestalt
- #method_missing

### Files

- Gemfile
- Rakefile

### Class/Module Index

Quicksearch

- Ramaze
- Ramaze::App
- Ramaze::Bin
- Ramaze::Bin::Create
- Ramaze::Bin::Runner
- Ramaze::Cache
- Ramaze::Cache::LRU
- Ramaze::Cache::LocalMemCache
- Ramaze::Cache::MemCache
- Ramaze::Cache::Redis
- Ramaze::Cache::Sequel
- Ramaze::Controller
- Ramaze::CoreExtensions
- Ramaze::CoreExtensions::Object
- Ramaze::CoreExtensions::String
- Ramaze::Current
- Ramaze::DefaultController
- Ramaze::Files
- 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::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::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::Informer
- Ramaze::Logger::LogHub
- Ramaze::Logger::Logger
- Ramaze::Logger::RotatingInformer
- Ramaze::Logger::Syslog
- Ramaze::Logging
- Ramaze::Reloader
- Ramaze::Reloader::Hooks
- Ramaze::Reloader::WatchInotify
- Ramaze::Reloader::WatchStat
- Ramaze::Request
- Ramaze::Response
- Ramaze::SpecLogger
- 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
- Innate
- Innate::View
- Innate::View::Slim
- Nagoro
- Nagoro::Pipe
- Nagoro::Pipe::RenderPartial
- Bacon
- Bacon::PrettyOutput
- Erector
- Erector::Widget
- Rack
- Rack::RouteExceptions
- Tenjin
- Tenjin::Template
- BlankSlate
- Controller
- MainController
- Object

No matching classes.

# Ramaze::Helper::Gestalt

Gestalt is the custom HTML/XML builder for Ramaze, based on a very simple DSL it will build your markup.

### Constants

CACHE_G

### Public Instance Methods

build(&block) click to toggle source

    # File lib/ramaze/helper/gestalt.rb, line 14
    def build(&block)
      Ramaze::Gestalt.build(&block)
    end

g(meth = nil, view = nil) click to toggle source

    # File lib/ramaze/helper/gestalt.rb, line 18
    def g(meth = nil, view = nil)
      meth ||= caller[0].slice(/`(.*)'?/).gsub(/[\`\']/, '')
      view_name = (self.class.to_s.sub('Controller', '') + 'View').split('::')
      view ||= view_name.inject(Object){ |ns, name| ns.const_get(name) }

      gestalt_class = CACHE_G[view] ||= g_class
      gestalt = gestalt_class.new
      gestalt.extend(view)
      instance_variables.each do |iv|
        gestalt.instance_variable_set(iv, instance_variable_get(iv))
      end
      gestalt.__send__(meth)
      gestalt.to_s
    end

g_class() click to toggle source

    # File lib/ramaze/helper/gestalt.rb, line 33
    def g_class
      ancs = self.class.ancestors
      helpers = Ramaze::Helper.constants.map{ |c| Ramaze::Helper.const_get(c)}
      our_helpers = ancs & helpers
      our_helpers.delete(Ramaze::Helper::Gestalt)
      gestalt_class = Class.new(Ramaze::Gestalt){ include(*our_helpers) }
    end

gestalt(&block) click to toggle source

    # File lib/ramaze/helper/gestalt.rb, line 10
    def gestalt(&block)
      Ramaze::Gestalt.new(&block)
    end

method_missing(sym, *args, &block) click to toggle source

    # File lib/ramaze/helper/gestalt.rb, line 41
    def method_missing(sym, *args, &block)
      @gestalt ||= gestalt
      @gestalt.send(sym, *args, &block)
    end

[Validate]

Generated with the Darkfish Rdoc Generator 2.