Sha256: 2967c18971f7f75551216ae7ce3c5e43ac192e42942699e3fdaecc6ad7e077b4

Contents?: true

Size: 988 Bytes

Versions: 3

Compression:

Stored size: 988 Bytes

Contents

module Lono
  # This class is not use by lono internally. It is really only meant to be
  # exposed to the lono userdata command so users can debug their generated
  # app/user_data scripts. It is useful for debugging.
  #
  # Normally, the Lono::DSL#run method generates the CloudFormation templates
  # and embeds user-data script into the template.
  class UserData
    def initialize(options)
      @options = options
      @name = options[:name]
      @path = "#{Lono.root}/app/user_data/#{@name}.sh"
    end

    def generate
      puts "Generating user_data for '#{@name}' at #{@path}"
      if File.exist?(@path)
        puts RenderMePretty.result(@path, context: context)
      else
        puts "ERROR: #{@path} does not exist".color(:red)
        exit 1
      end
    end

    # Context for ERB rendering.
    # This is where we control what references get passed to the ERB rendering.
    def context
      @context ||= Lono::Template::Context.new(@options)
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
lono-4.2.7 lib/lono/user_data.rb
lono-4.2.6 lib/lono/user_data.rb
lono-4.2.5 lib/lono/user_data.rb