module ScriptLocator
Public Instance Methods
errors()
click to toggle source
# File lib/script_executor/script_locator.rb, line 9 def errors @errors ||= [] end
evaluate_script_body(content, env, type=:erb)
click to toggle source
# File lib/script_executor/script_locator.rb, line 27 def evaluate_script_body(content, env, type=:erb) content = content.join("\n") if content.kind_of? Array case type when :erb template = ERB.new content template.result(env).strip else interpolator = TextInterpolator.new result = interpolator.interpolate content, env if interpolator.errors.size > 0 puts interpolator.errors @errors = interpolator.errors end result end end
scripts(file)
click to toggle source
# File lib/script_executor/script_locator.rb, line 13 def scripts(file) data = extract_data file begin scripts_parser = ScriptsParser.new parsed_content = scripts_parser.parse data transformer = ScriptsTransform.new transformer.transform(parsed_content) rescue Parslet::ParseFailed => failure puts failure.cause.ascii_tree end end
Private Instance Methods
extract_data(file)
click to toggle source
# File lib/script_executor/script_locator.rb, line 51 def extract_data(file) content = File.read(file) index = content.index("__END__\n") index.nil? ? content : content[index+9..-1] end