Sha256: 4ddb8afe5ab4d28822a1bb1aa23c76bcc13497c4663b04e26dae981cbedeac80

Contents?: true

Size: 1.09 KB

Versions: 2

Compression:

Stored size: 1.09 KB

Contents

# -*- coding: utf-8 -*-
module DirCat
  class CommandQuery < OptParseCommand::Command

    CliDirCat.register_command(self)

    def self.command
      "query"
    end

    def self.description
      "show info about dircat catalogs"
    end

    def self.usage
      "Usage: query [options] <catalog> [<method>]"
    end

    def exec(main, options, rest)
      if rest.length < 1
        puts "missing catalog!"
        puts "-h to print help"
        return 0
      end

      cat_opts = {}
      cat_filename = rest[0]
      if !File.exists?(cat_filename) or File.directory?(cat_filename)
        puts "first args must be a catalogue"
        return 1
      end

      if rest.length > 1
        command = rest[1]
      else
        command = "report"
      end

      #
      # option verbose
      #
      if options.verbose
        cat_opts[:verbose_level] = 1
      end

      s = Cat.from_file(cat_filename, cat_opts)

      if s.respond_to? command.to_sym
        puts s.send(command.to_sym)
        true
      else
        puts "unknow methods '#{command}'"
        false
      end
    end

  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
dircat-0.1.12 lib/dircat/cli/command_query.rb
dircat-0.1.11 lib/dircat/cli/command_query.rb