class Lono::Seed::Base
Public Class Methods
new(options={})
click to toggle source
Override Thor::Base initialize
# File lib/lono/seed/base.rb, line 24 def initialize(options={}) reinitialize(options) end
Public Instance Methods
create_param_file()
click to toggle source
# File lib/lono/seed/base.rb, line 48 def create_param_file @output_template = Lono::Output::Template.new(@blueprint, @template) if @output_template.parameters.empty? puts "Template has no parameters." return end # Generate by parameter group first lines, shown = [], [] @output_template.parameter_groups.each do |label, parameters| lines << "# Parameter Group: #{label}" parameters.each do |name| parameter_line = parameter_line(name) lines << parameter_line unless lines.include?(parameter_line) shown << name end lines << "" end if @output_template.parameter_groups # Then generate the rest @output_template.parameters.each do |name, data| lines << parameter_line(name) unless shown.include?(name) end content = lines.join("\n") dest_path = "configs/#{@blueprint}/params/#{Lono.env}.txt" # only support environment level parameters for now create_file(dest_path, content) # Thor::Action end
create_params()
click to toggle source
# File lib/lono/seed/base.rb, line 43 def create_params return unless params create_param_file end
create_variables()
click to toggle source
# File lib/lono/seed/base.rb, line 101 def create_variables return unless variables dest_path = "configs/#{@blueprint}/variables/#{Lono.env}.rb" create_file(dest_path, variables) # Thor::Action end
description_example(description)
click to toggle source
# File lib/lono/seed/base.rb, line 90 def description_example(description) return unless description md = description.match(/(Example|IE): (.*)/) return unless md md[2] end
finish()
click to toggle source
# File lib/lono/seed/base.rb, line 108 def finish; end
generate_template()
click to toggle source
# File lib/lono/seed/base.rb, line 39 def generate_template Lono::Template::Generator.new(@options).run end
parameter_line(name)
click to toggle source
# File lib/lono/seed/base.rb, line 77 def parameter_line(name) data = @output_template.parameters[name] example = description_example(data["Description"]) if data["Default"].nil? line = "#{name}=#{example} # (required)" else default = data["Default"] line = "# #{name}=#{default}" line = "#{line} # #{example}" if example end line end
params()
click to toggle source
# File lib/lono/seed/base.rb, line 97 def params true end
run()
click to toggle source
# File lib/lono/seed/base.rb, line 30 def run generate_template setup self.destination_root = Dir.pwd # Thor::Actions require destination_root to be set create_params create_variables finish end
setup()
click to toggle source
# File lib/lono/seed/base.rb, line 107 def setup; end
variables()
click to toggle source
Meant to be overriden by subclass Return String with contents of variables file.
# File lib/lono/seed/base.rb, line 112 def variables false end