Sha256: f0c155a608615489a477a22c472072c19dc4fc9821b9445e1a38c747fc47366f

Contents?: true

Size: 1.4 KB

Versions: 3

Compression:

Stored size: 1.4 KB

Contents

require 'karo/config'
require 'thor'

module Karo

	class Cache < Thor

	  class_option :config_file, type: :string, default: Config.default_file_name,
	  						  aliases: "-c", desc: "name of the file containing server configuration"
	  class_option :environment, aliases: "-e", desc: "server environment", default: "production"

	  desc "search", "searches for any matching cache files from the shared/cache directory"
	  def search(name="")
	    configuration = Config.load_configuration(options)
	    path = File.join(configuration["path"], "shared/cache")
      ssh  = "ssh #{configuration["user"]}@#{configuration["host"]}"
      cmd  = "find #{path} -type f -name \"*#{name}*\""

      to_run = "#{ssh} '#{cmd}'"

      say to_run, :green if options[:verbose]
      system to_run
	  end

	  desc "remove", "removes any matching cache files from the shared/cache directory"
	  def remove(name="")
      invoke :search

      configuration = Config.load_configuration(options)
      path = File.join(configuration["path"], "shared/cache")
      ssh  = "ssh #{configuration["user"]}@#{configuration["host"]}"
      cmd  = "find #{path} -type f -name \"*#{name}*\" -delete"

      to_run = "#{ssh} '#{cmd}'"

      if yes?("Are you sure?", :yellow)
        say to_run, :green if options[:verbose]
        system to_run
        say "Cache removed", :green
      else
        say "Cache not removed", :yellow
      end
	  end

	end

end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
karo-2.1.1 lib/karo/cache.rb
karo-2.1.0 lib/karo/cache.rb
karo-2.0.0 lib/karo/cache.rb