Parent
Methods
- ::new
- #class_dir
- #classes
- #classes_hash
- #classes_salient
- #classes_toplevel
- #copyright
- #file_dir
- #files
- #files_hash
- #files_toplevel
- #find_class_named
- #find_file_named
- #find_module_named
- #find_type_named
- #include_template
- #include_template
- #method_missing
- #methods_all
- #modules
- #modules_hash
- #modules_salient
- #modules_toplevel
- #options
- #render
- #title
- #types
- #types_hash
- #types_salient
- #types_toplevel
Included Modules
- ERB::Util
Class Index
- WebRI
- WebRI::Blackfish
- WebRI::Component
- WebRI::Generator
- WebRI::GeneratorOne
- WebRI::GitHub
- WebRI::Heirarchy
- WebRI::Highlight
- WebRI::Icons
- WebRI::JSONFile
- WebRI::Longfish
- WebRI::Metadata
- WebRI::Newfish
- WebRI::Oldfish
- WebRI::Onefish
- WebRI::Prettify
- WebRI::Redfish
- WebRI::RiService
- WebRI::Search
- WebRI::Search::FilesTree
- WebRI::Server
- WebRI::Subversion
- WebRI::Template
- WebRI::TimeDelta
- WebRI::Twofish
- RDoc
- RDoc::AnyMethod
- RDoc::ClassModule
- RDoc::Options
- RDoc::Parser
- RDoc::Parser::C
- RDoc::TopLevel
- Syckle
- Syckle::Plugins
- Syckle::Plugins::WebRI
- Object
- OpEsc
ERB Template
Template is used by the generator to build template files. It has access to all the the data methods in the generator.
Public Class Methods
New ERBTemplate instance.
# File lib/webri/generators/abstract/template.rb, line 17 def initialize(generator, provisions) @generator = generator # add component provisions provisions.each do |name, block| (class << self; self; end).class_eval do define_method(name){ |*a,&b| block.call(*a,&b) } end end end
Public Instance Methods
(Not documented)
# File lib/webri/generators/abstract/template.rb, line 62 def class_dir ; @generator.class_dir ; end
classes and modules
# File lib/webri/generators/abstract/template.rb, line 68 def classes ; @generator.classes ; end
(Not documented)
# File lib/webri/generators/abstract/template.rb, line 71 def classes_hash ; @generator.classes_hash ; end
(Not documented)
# File lib/webri/generators/abstract/template.rb, line 70 def classes_salient ; @generator.classes_salient ; end
(Not documented)
# File lib/webri/generators/abstract/template.rb, line 69 def classes_toplevel ; @generator.classes_toplevel ; end
(Not documented)
# File lib/webri/generators/abstract/template.rb, line 60 def copyright ; @generator.copyright ; end
(Not documented)
# File lib/webri/generators/abstract/template.rb, line 63 def file_dir ; @generator.file_dir ; end
# File lib/webri/generators/abstract/template.rb, line 89 def files ; @generator.files ; end
(Not documented)
# File lib/webri/generators/abstract/template.rb, line 91 def files_hash ; @generator.files_hash ; end
(Not documented)
# File lib/webri/generators/abstract/template.rb, line 90 def files_toplevel ; @generator.files_toplevel ; end
(Not documented)
# File lib/webri/generators/abstract/template.rb, line 93 def find_class_named(*a,&b) ; @generator.find_class_named(*a,&b) ; end
(Not documented)
# File lib/webri/generators/abstract/template.rb, line 96 def find_file_named(*a,&b) ; @generator.find_file_named(*a,&b) ; end
(Not documented)
# File lib/webri/generators/abstract/template.rb, line 94 def find_module_named(*a,&b) ; @generator.find_module_named(*a,&b) ; end
(Not documented)
# File lib/webri/generators/abstract/template.rb, line 95 def find_type_named(*a,&b) ; @generator.find_type_named(*a,&b) ; end
FIXME: this probably goes not need to double dispatch via generator
# File lib/webri/generators/abstract/template.rb, line 54 def include_template(*a,&b) @generator.include_template(*a,&b) end
Load and render the erb template with the given template_name within current context. Adds all local_assigns to context
# File lib/webri/generators/abstract/template.rb, line 101 def include_template(template_name, local_assigns={}) #source = local_assigns.keys.map { |key| "#{key} = local_assigns[:#{key}];" }.join #eval("#{source}; templatefile = path_template + template_name;eval_template(templatefile, binding)") template_file = @generator.__send__(:path_template) + template_name render(template_file, local_assigns) end
# File lib/webri/generators/abstract/template.rb, line 110 def method_missing(s, *a, &b) if @generator.respond_to?(s) @generator.__send__(s, *a, &b) end end
# File lib/webri/generators/abstract/template.rb, line 86 def methods_all ; @generator.methods_all ; end
just modules, no classes
# File lib/webri/generators/abstract/template.rb, line 74 def modules ; @generator.modules ; end
(Not documented)
# File lib/webri/generators/abstract/template.rb, line 77 def modules_hash ; @generator.modules_hash ; end
(Not documented)
# File lib/webri/generators/abstract/template.rb, line 76 def modules_salient ; @generator.modules_salient ; end
(Not documented)
# File lib/webri/generators/abstract/template.rb, line 75 def modules_toplevel ; @generator.modulews_toplevel ; end
(Not documented)
# File lib/webri/generators/abstract/template.rb, line 58 def options ; @generator.options ; end
Render a template.
# File lib/webri/generators/abstract/template.rb, line 29 def render(template_file, local_assigns={}) template_source = template_file.read erb = ERB.new(template_source, nil, '<>') erb.filename = template_file.to_s local_assigns.each do |key, val| (class << self; self; end).class_eval do define_method(key){ val } end end begin erb_binding = binding #eval code, b erb.result(erb_binding) rescue NoMethodError => err raise RDoc::Error, "Error while evaluating %s: %s (at %p)" % [ template_file.to_s, err.message, eval("_erbout[-50,50]", erb_binding) ], err.backtrace end end
(Not documented)
# File lib/webri/generators/abstract/template.rb, line 59 def title ; @generator.title ; end
just classes w/o modules
# File lib/webri/generators/abstract/template.rb, line 80 def types ; @generator.types ; end
(Not documented)
# File lib/webri/generators/abstract/template.rb, line 83 def types_hash ; @generator.types_hash ; end
Disabled; run with --debug to generate this.