Sha256: 68caf00c36a4762e8348eeebcfcc40396eee122dfcf58ecf076f9c3fa874124c
Contents?: true
Size: 1.88 KB
Versions: 1
Compression:
Stored size: 1.88 KB
Contents
#! /usr/bin/env ruby # -*- encoding: UTF-8 -*- require 'thor' require 'json' require 'yaml' module Pingdom module Cli class CLI < Thor include Thor::Actions map '-l' => :checks class_option :config, aliases: '--config', type: :string, default: "#{ENV['HOME']}/.pingdomrc", desc: 'config file' def initialize(args = [], options = {}, config = {}) super(args, options, config) @global_options = config[:shell].base.options @config = YAML.load_file(@global_options['config']) @core = Core.new(@config) end desc "config", "config" def config puts_json @config end desc "checks", "checks" def checks puts_json @core.checks end desc "actions", "actions" def actions puts_json @core.actions end desc "contacts", "contacts" def contacts puts_json @core.contacts end desc "probes", "probes" def probes puts_json @core.probes end desc "reference", "reference" def reference puts_json @core.reference end desc "reports_public", "reports_public" def reports_public puts_json @core.reports_public end desc "settings", "settings" def settings puts_json @core.settings end desc "credits", "credits" def credits puts_json @core.credits end desc "pause", "pause" def pause puts @core.update({ paused: true }) end desc "unpause", "unpause" def unpause puts @core.update({ paused: false }) end desc "update", "update" option :params, type: :hash, default: {}, desc: 'params' def update puts @core.update(options['params']) end private def puts_json(object) puts JSON.pretty_generate(object) end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
pingdom-cli-0.3.0 | lib/pingdom/cli/cli.rb |