In Files
Parent
Namespace
Information
Class Index
![show/hide quicksearch [+]](../../assets/icon/find.png)
- Malt
- Malt::Engine
- Malt::Engine::Abstract
- Malt::Engine::BlueCloth
- Malt::Engine::Builder
- Malt::Engine::Erb
- Malt::Engine::Erector
- Malt::Engine::Erubis
- Malt::Engine::Haml
- Malt::Engine::Kramdown
- Malt::Engine::Less
- Malt::Engine::Liquid
- Malt::Engine::Markaby
- Malt::Engine::Mustache
- Malt::Engine::RDiscount
- Malt::Engine::RDoc
- Malt::Engine::Radius
- Malt::Engine::Radius::context;
- Malt::Engine::RagTag
- Malt::Engine::RedCloth
- Malt::Engine::Ruby
- Malt::Engine::Sass
- Malt::Engine::Tenjin
- Malt::Format
- Malt::Format::Abstract
- Malt::Format::AbstractTemplate
- Malt::Format::Builder
- Malt::Format::CSS
- Malt::Format::Erb
- Malt::Format::Erector
- Malt::Format::HTML
- Malt::Format::Haml
- Malt::Format::LESS
- Malt::Format::Latex
- Malt::Format::Liquid
- Malt::Format::Markaby
- Malt::Format::Markdown
- Malt::Format::Mustache
- Malt::Format::PDF
- Malt::Format::RBHTML
- Malt::Format::RDoc
- Malt::Format::RHTML
- Malt::Format::Radius
- Malt::Format::RagTag
- Malt::Format::Ruby
- Malt::Format::SCSS
- Malt::Format::Sass
- Malt::Format::Tenjin
- Malt::Format::Text
- Malt::Format::Textile
- Malt::Format::UnsupportedConversion
- Malt::Format::XML
- Malt::Format::YAML
- Malt::Kernel
- Malt::Machine
- Malt::Markup
- Malt::NoEngineError
- Malt::Template
- Hash
- OpenStruct
Public Instance Methods
render(params, &yld)
click to toggle source
# File lib/malt/engines/radius.rb, line 14 14: def render(params, &yld) 15: text = params[:text] 16: data = params[:data] 17: into = params[:to] 18: case into 19: when :html, :xml, nil 20: data = make_context(data, &yld) 21: opts = engine_options(params) 22: parser = ::Radius::Parser.new(data, opts) 23: parser.parse(text) 24: else 25: super(params, &yld) 26: end 27: end
Private Instance Methods
engine_options(params)
click to toggle source
# File lib/malt/engines/radius.rb, line 82 82: def engine_options(params) 83: opts = {} 84: opts[:tag_prefix] = params[:tag_prefix] || settings[:tag_prefix] 85: opts 86: end
initialize_engine()
click to toggle source
Load Radius library if not already loaded.
# File lib/malt/engines/radius.rb, line 32 32: def initialize_engine 33: return if defined? ::Radius 34: require_library 'radius' 35: end
make_context(data, &yld)
click to toggle source
Radius templates have a very special data source.
# File lib/malt/engines/radius.rb, line 38 38: def make_context(data, &yld) 39: case data 40: when Hash 41: context = make_context_from_hash(data, &yld) 42: else 43: if data.respond_to(:to_hash) 44: data = data.to_hash 45: context = make_context_from_hash(data, &yld) 46: else 47: context = make_context_from_object(data, &yld) 48: end 49: end 50: context 51: end
make_context_from_hash(data, &yld)
click to toggle source
# File lib/malt/engines/radius.rb, line 69 69: def make_context_from_hash(data, &yld) 70: context = Class.new(::Radius::Context).new 71: #data = make_hash(data) 72: data.each do |tag, value| 73: context.define_tag(tag){ value } 74: end 75: context.define_tag("yield") do 76: yld.call 77: end 78: context 79: end
make_context_from_object(db, &yld)
click to toggle source
# File lib/malt/engines/radius.rb, line 54 54: def make_context_from_object(db, &yld) 55: context = Class.new(::Radius::Context).new 56: db = make_object(db) 57: (class << context; self; end).class_eval do 58: define_method :tag_missing do |tag, attr| 59: db.__send__(tag) # any way to support attr as args? 60: end 61: end 62: context.define_tag("yield") do 63: yld.call 64: end 65: context 66: end
Disabled; run with --debug to generate this.