class Mixlib::Install::Generator::Base
Attributes
options[R]
Public Class Methods
get_script(name, context = {})
click to toggle source
Gets the contents of the given script.
# File lib/mixlib/install/generator/base.rb, line 44 def self.get_script(name, context = {}) script_path = File.join(script_base_path, name) # If there is an erb template we render it, otherwise we just read # and return the contents of the script if File.exist? "#{script_path}.erb" # Default values to use incase they are not set in the context context[:project_name] ||= Mixlib::Install::Dist::PROJECT_NAME.freeze context[:base_url] ||= Mixlib::Install::Dist::OMNITRUCK_ENDPOINT.freeze context[:default_product] ||= Mixlib::Install::Dist::DEFAULT_PRODUCT.freeze context[:bug_url] ||= Mixlib::Install::Dist::BUG_URL.freeze context[:support_url] ||= Mixlib::Install::Dist::SUPPORT_URL.freeze context[:resources_url] ||= Mixlib::Install::Dist::RESOURCES_URL.freeze context[:macos_dir] ||= Mixlib::Install::Dist::MACOS_VOLUME.freeze context[:windows_dir] ||= Mixlib::Install::Dist::WINDOWS_INSTALL_DIR.freeze context[:user_agent_string] = Util.user_agent_string(context[:user_agent_headers]) context_object = OpenStruct.new(context).instance_eval { binding } ERB.new(File.read("#{script_path}.erb")).result(context_object) else File.read(script_path) end end
new(options)
click to toggle source
# File lib/mixlib/install/generator/base.rb, line 29 def initialize(options) @options = options end
script_base_path()
click to toggle source
Returns the base path where the script fragments are located for the generator as a String.
# File lib/mixlib/install/generator/base.rb, line 37 def self.script_base_path raise "You must define a script_base_path for your Generator::Base class." end
Public Instance Methods
get_script(name, context = {})
click to toggle source
# File lib/mixlib/install/generator/base.rb, line 68 def get_script(name, context = {}) self.class.get_script(name, context) end