Sha256: eea176993efdac79acf1f8425ebc5658f18c47b7088ff40c341fe9a192998e25

Contents?: true

Size: 861 Bytes

Versions: 7

Compression:

Stored size: 861 Bytes

Contents

class Terraspace::CLI
  class Fmt
    include Concerns::SourceDirs
    include Terraspace::Util::Logging

    def initialize(options={})
      @options = options
      @mod_name = options[:mod]
    end

    @@exit_status = 0
    def run
      logger.info "Formating terraform files"
      dirs.each do |dir|
        exit_status = format(dir)
        @@exit_status = exit_status if exit_status != 0
      end
      exit(@@exit_status)
    end

    def format(dir)
      Runner.new(dir).format!
    end

  private
    def dirs
      if @mod_name
        type_dirs.select { |p| p.include?(@mod_name) }
      else
        type_dirs
      end
    end

    def type_dirs
      type = @options[:type]
      if type && type != "all"
        app_source_dirs.select { |p| p.include?("/#{type.pluralize}/") }
      else
        app_source_dirs
      end
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
terraspace-2.2.14 lib/terraspace/cli/fmt.rb
terraspace-2.2.13 lib/terraspace/cli/fmt.rb
terraspace-2.2.12 lib/terraspace/cli/fmt.rb
terraspace-2.2.11 lib/terraspace/cli/fmt.rb
terraspace-2.2.10 lib/terraspace/cli/fmt.rb
terraspace-2.2.9 lib/terraspace/cli/fmt.rb
terraspace-2.2.8 lib/terraspace/cli/fmt.rb