class HammerCLICsv::CsvCommand::ExportCommand
Constants
- RESOURCES
- SUPPORTED_RESOURCES
Public Class Methods
supported?()
click to toggle source
# File lib/hammer_cli_csv/export.rb, line 9 def self.supported? true end
Public Instance Methods
check_server_status(server, username, password)
click to toggle source
# File lib/hammer_cli_csv/export.rb, line 68 def check_server_status(server, username, password) url = "#{server}/api/status" uri = URI(url) nethttp = Net::HTTP.new(uri.host, uri.port) nethttp.use_ssl = uri.scheme == 'https' nethttp.verify_mode = OpenSSL::SSL::VERIFY_NONE server_status = nethttp.start do |http| request = Net::HTTP::Get.new uri.request_uri request.basic_auth(username, password) response = http.request(request) JSON.parse(response.body) end server_status end
execute()
click to toggle source
# File lib/hammer_cli_csv/export.rb, line 34 def execute @api = api_connection skipped_resources = (RESOURCES - SUPPORTED_RESOURCES) (RESOURCES - skipped_resources).each do |resource| hammer_resource(resource) end HammerCLI::EX_OK end
hammer(context = nil)
click to toggle source
# File lib/hammer_cli_csv/export.rb, line 45 def hammer(context = nil) context ||= { :interactive => false, :username => @username, :password => @password } HammerCLI::MainCommand.new('', context) end
hammer_resource(resource)
click to toggle source
# File lib/hammer_cli_csv/export.rb, line 55 def hammer_resource(resource) return if !self.send("option_#{resource}") && !option_dir options_file = self.send("option_#{resource}") || "#{option_dir}/#{resource.sub('_', '-')}.csv" args = [] args += %W( --server #{@server} ) if @server args += %W( csv #{resource.sub('_', '-')} --export --file #{options_file} ) args << '-v' if option_verbose? args += %W( --organization #{option_organization} ) if option_organization args += %W( --threads #{option_threads} ) if option_threads puts "Exporting '#{args.join(' ')}'" if option_verbose? hammer.run(args) end