class SensuCli::Base
Attributes
cli[RW]
Public Instance Methods
api_path(cli)
click to toggle source
# File lib/sensu-cli/base.rb, line 40 def api_path(cli) p = PathCreator.new p.respond_to?(cli[:command]) ? path = p.send(cli[:command], cli) : SensuCli::die(1, 'Something Bad Happened') @api = { :path => path[:path], :method => cli[:method], :command => cli[:command], :payload => (path[:payload] || false) } end
make_call()
click to toggle source
# File lib/sensu-cli/base.rb, line 46 def make_call opts = { :path => @api[:path], :method => @api[:method], :payload => @api[:payload], :host => Config.host, :port => Config.port, :ssl => Config.ssl || false, :user => Config.user || nil, :read_timeout => Config.read_timeout || 15, :open_timeout => Config.open_timeout || 5, :password => Config.password || nil, :auth_token => Config.auth_token || nil, :proxy_address => Config.proxy_address || nil, :proxy_port => Config.proxy_port || nil } api = Api.new res = api.request(opts) msg = api.response(res.code, res.body, @api[:command]) msg = Filter.new(cli[:fields][:filter]).process(msg) if cli[:fields][:filter] endpoint = @api[:command] if res.code != '200' SensuCli::die(0) elsif cli[:fields][:format] == 'single' Pretty.single(msg, endpoint) elsif cli[:fields][:format] == 'table' fields = nil || cli[:fields][:fields] Pretty.table(msg, endpoint, fields) elsif cli[:fields][:format] == 'json' Pretty.json(msg) else Pretty.print(msg, endpoint) end Pretty.count(msg) unless cli[:fields][:format] == 'table' or cli[:fields][:format] == 'json' end
settings(directory = "
click to toggle source
# File lib/sensu-cli/base.rb, line 22 def settings(directory = "#{Dir.home}/.sensu", filename = 'settings.rb') file = "#{directory}/#{filename}" alt = '/etc/sensu/sensu-cli/settings.rb' settings = Settings.new if settings.file?(file) SensuCli::Config.from_file(file) elsif settings.file?(alt) SensuCli::Config.from_file(alt) else settings.create(directory, file) end if $stdout.isatty and not Config.pretty_colors == false Rainbow.enabled = true else Rainbow.enabled = false end end
setup()
click to toggle source
# File lib/sensu-cli/base.rb, line 4 def setup self.cli = Cli.new.global settings if cli[:command] == 'socket' socket else api_path(cli) make_call end end
socket()
click to toggle source
# File lib/sensu-cli/base.rb, line 15 def socket socket = SensuCli::Client::Socket.new socket.format_message(cli[:fields]) if cli[:method] == 'create' socket.message = cli[:raw] if cli[:method] == 'raw' socket.send_udp_message end