Sha256: ec3e02d483c23a68dd8b8f5243aa2341f654191ded469022e998c9c38060631e

Contents?: true

Size: 1.12 KB

Versions: 6

Compression:

Stored size: 1.12 KB

Contents

require "sparkle_formation"
require "sfn"

module Sfn
  class Command
    # Print command
    class Print < Command
      include Sfn::CommandModule::Base
      include Sfn::CommandModule::Template
      include Sfn::CommandModule::Stack

      # Print the requested template
      def execute!
        config[:print_only] = true
        file = load_template_file

        output_content = parameter_scrub!(template_content(file))
        if config[:yaml]
          require "yaml"
          output_content = YAML.dump(output_content)
        else
          output_content = format_json(output_content)
        end

        if config[:write_to_file]
          unless File.directory?(File.dirname(config[:write_to_file]))
            run_action "Creating parent directory" do
              FileUtils.mkdir_p(File.dirname(config[:write_to_file]))
              nil
            end
          end
          run_action "Writing template to file - #{config[:write_to_file]}" do
            File.write(config[:write_to_file], output_content)
            nil
          end
        else
          ui.puts output_content
        end
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
sfn-3.1.8 lib/sfn/command/print.rb
sfn-3.1.6 lib/sfn/command/print.rb
sfn-3.1.4 lib/sfn/command/print.rb
sfn-3.1.2 lib/sfn/command/print.rb
sfn-3.1.0 lib/sfn/command/print.rb
sfn-3.0.32 lib/sfn/command/print.rb