class SimpleJson::SimpleJsonTemplate
Public Class Methods
new(path)
click to toggle source
# File lib/simple_json/simple_json_template.rb, line 5 def initialize(path) @path = path @source = File.read(path) end
Public Instance Methods
code()
click to toggle source
# File lib/simple_json/simple_json_template.rb, line 14 def code @code ||= lambda_stringify(@source) end
renderer()
click to toggle source
# File lib/simple_json/simple_json_template.rb, line 10 def renderer @renderer ||= eval(code, TOPLEVEL_BINDING, @path) # rubocop:disable Security/Eval end
Private Instance Methods
lambda_stringify(source)
click to toggle source
# File lib/simple_json/simple_json_template.rb, line 20 def lambda_stringify(source) return source if source.match?(/^(?:\s*(?:#.*?)?\n)*\s*->/) "-> { #{source} }" end