Class: Mixlib::Install::Generator::Base
- Inherits:
-
Object
- Object
- Mixlib::Install::Generator::Base
- Defined in:
- lib/mixlib/install/generator/base.rb
Direct Known Subclasses
Instance Attribute Summary collapse
-
#options ⇒ Object
readonly
Returns the value of attribute options.
Class Method Summary collapse
-
.get_script(name, context = {}) ⇒ Object
Gets the contents of the given script.
-
.script_base_path ⇒ Object
Returns the base path where the script fragments are located for the generator as a String.
Instance Method Summary collapse
- #get_script(name, context = {}) ⇒ Object
-
#initialize(options) ⇒ Base
constructor
A new instance of Base.
Constructor Details
#initialize(options) ⇒ Base
Returns a new instance of Base.
29 30 31 |
# File 'lib/mixlib/install/generator/base.rb', line 29 def initialize() @options = end |
Instance Attribute Details
#options ⇒ Object (readonly)
Returns the value of attribute options.
27 28 29 |
# File 'lib/mixlib/install/generator/base.rb', line 27 def @options end |
Class Method Details
.get_script(name, context = {}) ⇒ Object
Gets the contents of the given script.
44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 |
# 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 returnt 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 |
.script_base_path ⇒ Object
Returns the base path where the script fragments are located for the generator as a String.
37 38 39 |
# 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 |
Instance Method Details
#get_script(name, context = {}) ⇒ Object
68 69 70 |
# File 'lib/mixlib/install/generator/base.rb', line 68 def get_script(name, context = {}) self.class.get_script(name, context) end |