WebRI  WebRI::Template

[Validate]
Generated with WebRI Redfish 1.2

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(generator, provisions) click to toggle source

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

class_dir() click to toggle source

(Not documented)

# File lib/webri/generators/abstract/template.rb, line 62
    def class_dir ; @generator.class_dir ; end
classes() click to toggle source

classes and modules

# File lib/webri/generators/abstract/template.rb, line 68
    def classes                    ; @generator.classes                    ; end
classes_hash() click to toggle source

(Not documented)

# File lib/webri/generators/abstract/template.rb, line 71
    def classes_hash               ; @generator.classes_hash               ; end
classes_salient() click to toggle source

(Not documented)

# File lib/webri/generators/abstract/template.rb, line 70
    def classes_salient            ; @generator.classes_salient            ; end
classes_toplevel() click to toggle source

(Not documented)

# File lib/webri/generators/abstract/template.rb, line 69
    def classes_toplevel           ; @generator.classes_toplevel           ; end
file_dir() click to toggle source

(Not documented)

# File lib/webri/generators/abstract/template.rb, line 63
    def file_dir  ; @generator.file_dir  ; end
files() click to toggle source
# File lib/webri/generators/abstract/template.rb, line 89
    def files                      ; @generator.files                      ; end
files_hash() click to toggle source

(Not documented)

# File lib/webri/generators/abstract/template.rb, line 91
    def files_hash                 ; @generator.files_hash                 ; end
files_toplevel() click to toggle source

(Not documented)

# File lib/webri/generators/abstract/template.rb, line 90
    def files_toplevel             ; @generator.files_toplevel             ; end
find_class_named(*a,&b) click to toggle source

(Not documented)

# File lib/webri/generators/abstract/template.rb, line 93
    def find_class_named(*a,&b)    ; @generator.find_class_named(*a,&b)    ; end
find_file_named(*a,&b) click to toggle source

(Not documented)

# File lib/webri/generators/abstract/template.rb, line 96
    def find_file_named(*a,&b)     ; @generator.find_file_named(*a,&b)     ; end
find_module_named(*a,&b) click to toggle source

(Not documented)

# File lib/webri/generators/abstract/template.rb, line 94
    def find_module_named(*a,&b)   ; @generator.find_module_named(*a,&b)   ; end
find_type_named(*a,&b) click to toggle source

(Not documented)

# File lib/webri/generators/abstract/template.rb, line 95
    def find_type_named(*a,&b)     ; @generator.find_type_named(*a,&b)     ; end
include_template(*a,&b) click to toggle source

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
include_template(template_name, local_assigns={}) click to toggle source

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
method_missing(s, *a, &b) click to toggle source
# 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
methods_all() click to toggle source
# File lib/webri/generators/abstract/template.rb, line 86
    def methods_all                ; @generator.methods_all                ; end
modules() click to toggle source

just modules, no classes

# File lib/webri/generators/abstract/template.rb, line 74
    def modules                    ; @generator.modules                    ; end
modules_hash() click to toggle source

(Not documented)

# File lib/webri/generators/abstract/template.rb, line 77
    def modules_hash               ; @generator.modules_hash               ; end
modules_salient() click to toggle source

(Not documented)

# File lib/webri/generators/abstract/template.rb, line 76
    def modules_salient            ; @generator.modules_salient            ; end
modules_toplevel() click to toggle source

(Not documented)

# File lib/webri/generators/abstract/template.rb, line 75
    def modules_toplevel           ; @generator.modulews_toplevel          ; end
options() click to toggle source

(Not documented)

# File lib/webri/generators/abstract/template.rb, line 58
    def options   ; @generator.options   ; end
render(template_file, local_assigns={}) click to toggle source

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
title() click to toggle source

(Not documented)

# File lib/webri/generators/abstract/template.rb, line 59
    def title     ; @generator.title     ; end
types() click to toggle source

just classes w/o modules

# File lib/webri/generators/abstract/template.rb, line 80
    def types                      ; @generator.types                      ; end
types_hash() click to toggle source

(Not documented)

# File lib/webri/generators/abstract/template.rb, line 83
    def types_hash                 ; @generator.types_hash                 ; end
types_salient() click to toggle source

(Not documented)

# File lib/webri/generators/abstract/template.rb, line 82
    def types_salient              ; @generator.types_salient              ; end
types_toplevel() click to toggle source

(Not documented)

# File lib/webri/generators/abstract/template.rb, line 81
    def types_toplevel             ; @generator.types_toplevel             ; end

Disabled; run with --debug to generate this.