Sha256: d435dfeb34ec5f1440125cabf5fd3c9973ad56cfa0714c179a3550ae43781e09

Contents?: true

Size: 947 Bytes

Versions: 1

Compression:

Stored size: 947 Bytes

Contents

class Terraspace::CLI::Logs
  class Tasks
    include Terraspace::Util::Sure

    def initialize(options={})
      @options = options
      Terraspace.check_project!
    end

    def truncate
      are_you_sure?("truncate")
      log_files.each do |path|
        File.open(path, "w").close # truncates files
      end
    end

    def remove
      are_you_sure?("remove")
      puts "Removing all files in #{pretty_log_root}/" unless @options[:mute]
      FileUtils.rm_rf(log_root)
      FileUtils.mkdir_p(log_root)
    end

    def log_files
      Dir.glob("#{log_root}/**/*.log")
    end

    def pretty_log_root
      Terraspace::Util.pretty_path(log_root)
    end

    def log_root
      Terraspace.config.log.root
    end

    def are_you_sure?(action)
      message = <<~EOL.chomp
        Will #{action} all the log files in #{pretty_log_root}/ folder
        Are you sure?
      EOL
      sure?(message) # from Util::Sure
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
terraspace-0.3.6 lib/terraspace/cli/logs/tasks.rb