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