lib/ronin/templates/erb.rb in ronin-0.2.4 vs lib/ronin/templates/erb.rb in ronin-0.3.0

- old
+ new

@@ -1,9 +1,7 @@ # -#-- -# Ronin - A Ruby platform designed for information security and data -# exploration tasks. +# Ronin - A Ruby platform for exploit development and security research. # # Copyright (c) 2006-2009 Hal Brodigan (postmodern.mod3 at gmail.com) # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -16,22 +14,30 @@ # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA -#++ # +require 'ronin/templates/template' + require 'erb' module Ronin module Templates module Erb + include Template # - # Renders the specified inline ERB _template_ in the scope of the - # object, returning the resulting +String+. + # Renders the inline ERB template in the scope of the object. # + # @param [String] template + # Source of the ERB template. + # + # @return [String] + # Result of the rendered template. + # + # @example # @user = 'lolcats' # # erb %{ # USER: <%= @user %> # PASSWORD: <%= @user.reverse %> @@ -41,16 +47,24 @@ def erb(template) ERB.new(template).result(binding) end # - # Renders the ERB template at the specified _path_ in the scope of the - # object, returning the resulting +String+. + # Renders an ERB template file in the scope of the object. # + # @param [String] template_path + # The relative path of the ERB template. + # + # @return [String] + # Result of the rendered template. + # + # @example # erb_file 'path/to/template.erb' # - def erb_file(path) - erb(File.read(path)) + def erb_file(template_path) + enter_template(template_path) do |path| + erb(File.read(path)) + end end end end end