module Commands::Rm

Public Class Methods

included(thor) click to toggle source
# File lib/commands/rm.rb, line 3
def self.included(thor)
    thor.class_eval do
                desc "rm [NAME]", "Destroy log"
        option :confirm, :type => :boolean, :default => false, :alias => '-y'
        def rm(name)
            log = Log.find_by_name(name)

            # log exists?
            if !log
              output do
                        say "#{name} log not found", :red
                    end
                exit
            end

            # make sure user confirmed
            if !options[:confirm]
              output do
                        say "You must --confirm before removing #{name} log", :red
                    end
                exit
            end

            # deactivate if not finished
            if log.active?
                log.deactivate!
            end

            # destroy log!
            output do
              if log.destroy
                            say "#{name} has been destroyed", :green
                        else
                            say "#{name} could not be destroyed", :red
                        end
                end
        end
        end
end

Public Instance Methods

rm(name) click to toggle source
# File lib/commands/rm.rb, line 7
def rm(name)
    log = Log.find_by_name(name)

    # log exists?
    if !log
      output do
                say "#{name} log not found", :red
            end
        exit
    end

    # make sure user confirmed
    if !options[:confirm]
      output do
                say "You must --confirm before removing #{name} log", :red
            end
        exit
    end

    # deactivate if not finished
    if log.active?
        log.deactivate!
    end

    # destroy log!
    output do
      if log.destroy
                    say "#{name} has been destroyed", :green
                else
                    say "#{name} could not be destroyed", :red
                end
        end
end