class Grouik::Formatter
Formatter
used to render loadables
Attributes
loadables[R]
options[R]
template[R]
Public Class Methods
format(loadables, options = {})
click to toggle source
# File src/lib/grouik/formatter.rb, line 47 def format(loadables, options = {}) self.new(loadables, options).format end
new(loadables, options = {})
click to toggle source
# File src/lib/grouik/formatter.rb, line 18 def initialize(loadables, options = {}) @loadables = loadables @options = options @formatted = nil @engine = Tenjin::Engine.new(cache: false) @template = options[:template] end
Public Instance Methods
format()
click to toggle source
# File src/lib/grouik/formatter.rb, line 35 def format @formatted = @formatted.nil? ? output : @formatted return self end
formatted()
click to toggle source
# File src/lib/grouik/formatter.rb, line 41 def formatted format @formatted.clone end
to_s()
click to toggle source
# File src/lib/grouik/formatter.rb, line 31 def to_s formatted end
Protected Instance Methods
output()
click to toggle source
# File src/lib/grouik/formatter.rb, line 54 def output items = loadables.to_a.map { |i| "require '#{i}'" } return items.join("\n") + "\n" unless template context = { requirement: lambda do |indent = nil| items.map { |i| '%s%s' % [indent, i] }.join("\n") end } @engine.render(template.to_s, context) end