Class: Sonar::CLI

Inherits:
Thor
  • Object
show all
Defined in:
lib/sonar/cli/cli.rb

Instance Method Summary collapse

Constructor Details

#initializeCLI

Returns a new instance of CLI.



11
12
13
14
15
# File 'lib/sonar/cli/cli.rb', line 11

def initialize(*)
  @config = Sonar::RCFile.instance.load_file
  @client = Sonar::Client.new(email: @config["email"], access_token: @config["access_token"], api_url: @config["api_url"])
  super
end

Instance Method Details

#configObject



53
54
55
56
# File 'lib/sonar/cli/cli.rb', line 53

def config
  # TODO: add a way to set config
  puts "Your config file is located at #{RCFile.instance.path}"
end

#profileObject



18
19
20
# File 'lib/sonar/cli/cli.rb', line 18

def profile
  ap @config
end

#search(type, term) ⇒ Object



31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
# File 'lib/sonar/cli/cli.rb', line 31

def search(type, term)
  @query = {}
  @query[type.to_sym] = term
  @query[:limit] = options['record_limit']
  @query[:exact] = options['exact']
  resp = @client.search(@query)

  if resp.is_a?(Sonar::Request::RequestIterator)
    resp.each do |data|
      print_json(cleanup_data(data), options['format'])
    end
  else
    print_json(cleanup_data(resp), options['format'])
  end
end

#typesObject



48
49
50
# File 'lib/sonar/cli/cli.rb', line 48

def types
  ap Search::QUERY_TYPES_MAP
end

#usageObject



23
24
25
# File 'lib/sonar/cli/cli.rb', line 23

def usage
  ap @client.usage
end