Sha256: 5a65cc2e01944f394ee70e152d195ac097f5b2c2d9997117573d4e6590004e13

Contents?: true

Size: 987 Bytes

Versions: 36

Compression:

Stored size: 987 Bytes

Contents

class Terraspace::CLI::Clean
  class Logs < Base
    def run
      action = @options[:truncate] ? "truncate" : "remove"
      are_you_sure?(action)
      @options[:truncate] ? truncate : remove
      logger.info "Logs #{action}d" # IE: Logs truncated or Logs removed
    end

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

    def 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

36 entries across 36 versions & 1 rubygems

Version Path
terraspace-0.6.18 lib/terraspace/cli/clean/logs.rb
terraspace-0.6.17 lib/terraspace/cli/clean/logs.rb
terraspace-0.6.16 lib/terraspace/cli/clean/logs.rb
terraspace-0.6.15 lib/terraspace/cli/clean/logs.rb
terraspace-0.6.13 lib/terraspace/cli/clean/logs.rb
terraspace-0.6.12 lib/terraspace/cli/clean/logs.rb
terraspace-0.6.11 lib/terraspace/cli/clean/logs.rb
terraspace-0.6.10 lib/terraspace/cli/clean/logs.rb
terraspace-0.6.9 lib/terraspace/cli/clean/logs.rb
terraspace-0.6.8 lib/terraspace/cli/clean/logs.rb
terraspace-0.6.7 lib/terraspace/cli/clean/logs.rb
terraspace-0.6.6 lib/terraspace/cli/clean/logs.rb
terraspace-0.6.5 lib/terraspace/cli/clean/logs.rb
terraspace-0.6.4 lib/terraspace/cli/clean/logs.rb
terraspace-0.6.3 lib/terraspace/cli/clean/logs.rb
terraspace-0.6.2 lib/terraspace/cli/clean/logs.rb
terraspace-0.6.1 lib/terraspace/cli/clean/logs.rb
terraspace-0.6.0 lib/terraspace/cli/clean/logs.rb
terraspace-0.5.12 lib/terraspace/cli/clean/logs.rb
terraspace-0.5.11 lib/terraspace/cli/clean/logs.rb