Sha256: 65a58a10aee3fcd19eded98bad9c16793ecb18c4f34f2c927a02469c60b5f9f6
Contents?: true
Size: 1023 Bytes
Versions: 74
Compression:
Stored size: 1023 Bytes
Contents
# encoding: UTF-8 require 'thor' require 'pathname' module Elasticsearch module API class Lister < Thor namespace 'api' desc "list <PATH DIRECTORY WITH JSON SPEC FILES>", "List all the REST API endpoints from the JSON specification" method_option :verbose, type: :boolean, default: false, desc: 'Output more information' method_option :format, default: 'text', desc: 'Output format (text, json)' def list(directory) input = Pathname(directory).join('*.json') apis = Dir[input.to_s].map do |f| File.basename(f, '.json') end.sort if options[:verbose] say_status 'Count', apis.size say '▬'*terminal_width end case options[:format] when 'text' apis.each { |a| puts "* #{a}" } when 'json' puts apis.inspect else puts "[!] ERROR: Unknown output format '#{options[:format]}'" exit(1) end end end end end
Version data entries
74 entries across 74 versions & 6 rubygems