class Nucleon::Plugin::Template

Public Class Methods

translate(data) click to toggle source
   # File lib/core/plugin/template.rb
82 def self.translate(data)
83   return data
84 end

Public Instance Methods

process(value) click to toggle source
   # File lib/core/plugin/template.rb
16 def process(value)
17   case value
18   when String, Symbol
19     return nil        if Util::Data.undef?(value)
20     return 'false'    if value == false
21     return 'true'     if value == true      
22     return value.to_s if value.is_a?(Symbol)
23     
24   when Hash
25     results = {}
26     value.each do |key, item|
27       result = process(item)
28       unless result.nil?
29         results[key] = result  
30       end
31       value = results
32     end
33     
34   when Array
35     results = []
36     value.each_with_index do |item, index|
37       result = process(item)
38       unless result.nil?
39         results << result  
40       end        
41     end
42     value = results
43   end
44   return value
45 end
render(data) click to toggle source
   # File lib/core/plugin/template.rb
49 def render(data)
50   normalize   = get(:normalize_template, true)
51   interpolate = get(:interpolate_template, true)
52   
53   logger.debug("Rendering data: normalize: #{normalize.inspect}; interpolate: #{interpolate.inspect}: #{data.inspect}")
54   
55   if normalize
56     data = Config.normalize(data, nil, export)
57     logger.debug("Pre-rendering data normalization: #{data.inspect}")
58   end
59   
60   if normalize && interpolate
61     data = Util::Data.interpolate(data, data, export)
62     logger.debug("Pre-rendering data interpolation: #{data.inspect}")
63   end    
64   return render_processed(process(data))
65 end
render_processed(data) { |output| ... } click to toggle source
   # File lib/core/plugin/template.rb
69 def render_processed(data)
70   logger.debug("Rendering #{plugin_provider} data: #{data.inspect}")
71   
72   output = ''
73   output = yield(output) if block_given?
74   
75   logger.debug("Completed rendering of #{plugin_provider} data: #{output}")
76   return output
77 end