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.
28 29 30 |
# File 'lib/mixlib/install/generator/base.rb', line 28 def initialize() @options = end |
Instance Attribute Details
#options ⇒ Object (readonly)
Returns the value of attribute options.
26 27 28 |
# File 'lib/mixlib/install/generator/base.rb', line 26 def @options end |
Class Method Details
.get_script(name, context = {}) ⇒ Object
Gets the contents of the given script.
43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 |
# File 'lib/mixlib/install/generator/base.rb', line 43 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[:base_url] ||= "https://omnitruck.chef.io" 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.
36 37 38 |
# File 'lib/mixlib/install/generator/base.rb', line 36 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
60 61 62 |
# File 'lib/mixlib/install/generator/base.rb', line 60 def get_script(name, context = {}) self.class.get_script(name, context) end |