barking 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 103909fb9a464450bd700d6b33cae1c748cd5661
4
+ data.tar.gz: 573ed2c37ac699a1377d12cb458e10044812828b
5
+ SHA512:
6
+ metadata.gz: a620b6e7541e73a54994d544fc8182546f087e9b5ec54256304c584bf08e2da6d81f8c838369f7994077952e42e796a124aea88ed189c57fd23d1c83ab1799db
7
+ data.tar.gz: 96f1041b4e70c31bc5ce9912dd95e2f37b85b0add78f6b23635dbdf8e4edc6e15b7187520b544f5e3de2c2f9037b807bd99bf970d8cfc4da26399cd4ae1fc744
data/.codeclimate.yml ADDED
@@ -0,0 +1,49 @@
1
+ # This is a sample .codeclimate.yml configured for Engine analysis on Code
2
+ # Climate Platform. For an overview of the Code Climate Platform, see here:
3
+ # http://docs.codeclimate.com/article/300-the-codeclimate-platform
4
+
5
+ # Under the engines key, you can configure which engines will analyze your repo.
6
+ # Each key is an engine name. For each value, you need to specify enabled: true
7
+ # to enable the engine as well as any other engines-specific configuration.
8
+
9
+ # For more details, see here:
10
+ # http://docs.codeclimate.com/article/289-configuring-your-repository-via-codeclimate-yml#platform
11
+
12
+ # For a list of all available engines, see here:
13
+ # http://docs.codeclimate.com/article/296-engines-available-engines
14
+
15
+ # languages:
16
+ # Ruby: true
17
+
18
+ engines:
19
+ rubocop:
20
+ enabled: true
21
+ flay:
22
+ enabled: true
23
+ bundler-audit:
24
+ enabled: true
25
+
26
+ # Engines can analyze files and report issues on them, but you can separately
27
+ # decide which files will receive ratings based on those issues. This is
28
+ # specified by path patterns under the ratings key.
29
+
30
+ # For more details see here:
31
+ # http://docs.codeclimate.com/article/289-configuring-your-repository-via-codeclimate-yml#platform
32
+
33
+ ratings:
34
+ paths:
35
+ - bin/**
36
+ - lib/**
37
+ - test/**
38
+ - Rakefile
39
+ - Nessus6.gemspec
40
+ - Gemfile
41
+ # - "**.rb"
42
+ # - "**.go"
43
+
44
+ # You can globally exclude files from being analyzed by any engine using the
45
+ # exclude_paths key.
46
+
47
+ #exclude_paths:
48
+ #- spec/**/*
49
+ #- vendor/**/*
data/.gitignore ADDED
@@ -0,0 +1,9 @@
1
+ /.bundle/
2
+ /.yardoc
3
+ /Gemfile.lock
4
+ /_yardoc/
5
+ /coverage/
6
+ /doc/
7
+ /pkg/
8
+ /spec/reports/
9
+ /tmp/
data/.travis.yml ADDED
@@ -0,0 +1,25 @@
1
+ language: ruby
2
+ sudo: false
3
+ cache: bundler
4
+ rvm:
5
+ - 2.0.0
6
+ - 2.1.0
7
+ - 2.1.5
8
+ - 2.2.0
9
+ - 2.2.1
10
+ - 2.2.2
11
+ - 2.2.3
12
+ - rbx-2
13
+ - ruby-head
14
+ - jruby-head
15
+
16
+ before_install:
17
+ - gem install bundler -v 1.10.6
18
+ - gem update --system
19
+ - gem --version
20
+
21
+ gemfile:
22
+ - Gemfile
23
+
24
+ notifications:
25
+ email: false
data/.yardopts ADDED
@@ -0,0 +1,2 @@
1
+ --markup-provider=redcarpet
2
+ --markup=markdown
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in bark.gemspec
4
+ gemspec
data/README.md ADDED
@@ -0,0 +1,36 @@
1
+ # Bark
2
+
3
+ Welcome to your new gem! In this directory, you'll find the files you need to be able to package up your Ruby library into a gem. Put your Ruby code in the file `lib/bark`. To experiment with that code, run `bin/console` for an interactive prompt.
4
+
5
+ TODO: Delete this and the text above, and describe your gem
6
+
7
+ ## Installation
8
+
9
+ Add this line to your application's Gemfile:
10
+
11
+ ```ruby
12
+ gem 'bark'
13
+ ```
14
+
15
+ And then execute:
16
+
17
+ $ bundle
18
+
19
+ Or install it yourself as:
20
+
21
+ $ gem install bark
22
+
23
+ ## Usage
24
+
25
+ TODO: Write usage instructions here
26
+
27
+ ## Development
28
+
29
+ After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake test` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
30
+
31
+ To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
32
+
33
+ ## Contributing
34
+
35
+ Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/bark.
36
+
data/Rakefile ADDED
@@ -0,0 +1,11 @@
1
+ require 'bundler/gem_tasks'
2
+ require 'rake/testtask'
3
+
4
+ Rake::TestTask.new(:test) do |t|
5
+ t.libs << 'test/'
6
+ t.libs << 'bin/'
7
+ t.libs << 'lib/'
8
+ t.pattern = 'test/spec/**/*_spec.rb'
9
+ end
10
+
11
+ task default: :test
data/bark.gemspec ADDED
@@ -0,0 +1,32 @@
1
+ # coding: utf-8
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'bark/version'
5
+
6
+ Gem::Specification.new do |spec|
7
+ spec.name = 'barking'
8
+ spec.version = Bark::VERSION
9
+ spec.authors = ['Kevin Kirsche']
10
+ spec.email = ['kev.kirsche@gmail.com']
11
+ spec.license = 'Apache-2.0)'
12
+
13
+ spec.summary = %q{Monit monitoring made easy!}
14
+ spec.description = %q{Bark: A Gem For Use By Individuals Looking to Retrieve Data From a Monit Server}
15
+ spec.homepage = 'https://github.com/kkirsche/Bark'
16
+
17
+ spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
18
+ spec.bindir = 'exe'
19
+ spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
20
+ spec.require_paths = ['lib']
21
+
22
+ spec.add_runtime_dependency 'hurley', '~> 0.2'
23
+ spec.add_runtime_dependency 'nokogiri', '~> 1.6'
24
+
25
+ spec.add_development_dependency 'codeclimate-test-reporter', '~> 0.4'
26
+ spec.add_development_dependency 'bundler', '~> 1.10'
27
+ spec.add_development_dependency 'rake', '~> 10.0'
28
+ spec.add_development_dependency 'minitest', '~> 5.8'
29
+ spec.add_development_dependency 'yard', '~> 0.8'
30
+ spec.add_development_dependency 'redcarpet', '~> 3.3'
31
+ spec.add_development_dependency 'github-markup', '~> 0.6'
32
+ end
data/bin/console ADDED
@@ -0,0 +1,14 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require "bundler/setup"
4
+ require "bark"
5
+
6
+ # You can add fixtures and/or initialization code here to make experimenting
7
+ # with your gem easier. You can also use a different console, if you like.
8
+
9
+ # (If you use this, don't forget to add pry to your Gemfile!)
10
+ # require "pry"
11
+ # Pry.start
12
+
13
+ require "irb"
14
+ IRB.start
data/bin/setup ADDED
@@ -0,0 +1,7 @@
1
+ #!/bin/bash
2
+ set -euo pipefail
3
+ IFS=$'\n\t'
4
+
5
+ bundle install
6
+
7
+ # Do any other automated setup that you need to do here
data/lib/bark.rb ADDED
@@ -0,0 +1,14 @@
1
+ # Dependencies
2
+ require 'hurley'
3
+ require 'nokogiri'
4
+ # Main App
5
+ require 'bark/client'
6
+ require 'bark/server'
7
+ require 'bark/service'
8
+ require 'bark/status'
9
+ require 'bark/platform'
10
+ # Utilities
11
+ require 'bark/utils/hash_helpers'
12
+ require 'bark/utils/string_helpers'
13
+ # Metadata
14
+ require 'bark/version'
@@ -0,0 +1,102 @@
1
+ # Bark is a client for interacting with the Monit client.
2
+ module Bark
3
+ # The Client class is the primary communicator between the program and the
4
+ class Client
5
+ # `:host` = The hostname of the Monit server
6
+ # `:port` = The port used to connect to the Monit server
7
+ # `:user` = The username used for basic auth with Monit server
8
+ # `:password` = The password used for basic auth with Monit server
9
+ # `:status` = The status xml api endpoint client
10
+ # `:server` = The server section retrieved via the status xml api
11
+ # `:platform` = The platform section retrieved via the status xml api
12
+ # `:service` = The service section retrieved via the status xml api
13
+ attr_reader :host, :port, :user, :password, :status, :server, :platform, :service
14
+ def initialize(opts = {})
15
+ default_if_opts_nil opts
16
+ @client = Hurley::Client.new "http://#{@user}:#{@password}"\
17
+ "@#{@host}:#{@port}"
18
+ end
19
+
20
+ # Used for access to the top level XML data
21
+ #
22
+ # @return [`Bark::Status`] Bark status client
23
+ def status
24
+ @status ||= Bark::Status.new @client
25
+ end
26
+
27
+ # Used for access to the server section of the XML data
28
+ #
29
+ # @return [`Bark::Server`] Bark server client
30
+ def server
31
+ @server ||= Bark::Server.new @client
32
+ end
33
+
34
+ # Used for access to the platform section of the XML data
35
+ #
36
+ # @return [`Bark::Platform`] Bark platform client
37
+ def platform
38
+ @platform ||= Bark::Platform.new @client
39
+ end
40
+
41
+ # Used for access to the service section of the XML data
42
+ #
43
+ # @return [`Bark::Service`] Bark service client
44
+ def service
45
+ @service ||= Bark::Service.new @client
46
+ end
47
+
48
+ private
49
+
50
+ # Used to determine whether or not the user provided the Monit server's hostname,
51
+ # port, username, and password.
52
+ #
53
+ # @return [`Symbol`]
54
+ def default_if_opts_nil(opts)
55
+ @host = decide_if_default_or_user_input opts[:host], default_host
56
+ @port = decide_if_default_or_user_input opts[:port], default_port
57
+ @user = decide_if_default_or_user_input opts[:user], default_user
58
+ @password = decide_if_default_or_user_input opts[:pass], default_password
59
+ :ok
60
+ end
61
+
62
+ # Checks if the value / option is nil. If it is, use the default value, otherwise, use the user
63
+ # provided input.
64
+ #
65
+ # @return [`String`]
66
+ def decide_if_default_or_user_input(opt, default)
67
+ if opt.nil?
68
+ return default
69
+ else
70
+ return opt
71
+ end
72
+ end
73
+
74
+ # Monit's default hostname
75
+ #
76
+ # @return [`String`]
77
+ def default_host
78
+ @host = 'localhost'
79
+ end
80
+
81
+ # Monit's default port number
82
+ #
83
+ # @return [`String`]
84
+ def default_port
85
+ @port = '2812'
86
+ end
87
+
88
+ # Monit's default username
89
+ #
90
+ # @return [`String`]
91
+ def default_user
92
+ @user = 'admin'
93
+ end
94
+
95
+ # Monit's default password
96
+ #
97
+ # @return [`String`]
98
+ def default_password
99
+ @password = 'monit'
100
+ end
101
+ end
102
+ end
@@ -0,0 +1,76 @@
1
+ # Bark is a client for interacting with the Monit client.
2
+ module Bark
3
+ # The Platform class hits the Status Monit API endpoint
4
+ # and then segments it accordingly
5
+ class Platform
6
+ def initialize(client)
7
+ @client = client
8
+ @status = Bark::Status.new client
9
+ end
10
+
11
+ # Retrieves the full platform object
12
+ #
13
+ # @return [`Hash`]
14
+ # {
15
+ # :name => "Darwin",
16
+ # :release => "15.0.0",
17
+ # :version => "Darwin Kernel Version 15.0.0: Wed Aug 26 16:57:32 PDT 2015; root:xnu-3247.1.106~1/RELEASE_X86_64",
18
+ # :machine => "x86_64",
19
+ # :cpu => "4",
20
+ # :memory => "16777216",
21
+ # :swap => "0"
22
+ # }
23
+ def full
24
+ @status.current[:monit][:platform]
25
+ end
26
+
27
+ # Retrieves the platform's name
28
+ #
29
+ # @return [String] `"Darwin"`
30
+ def name
31
+ @status.current[:monit][:platform][:name]
32
+ end
33
+
34
+ # Retrieves the platform's release number
35
+ #
36
+ # @return [String] `"15.0.0"`
37
+ def release
38
+ @status.current[:monit][:platform][:release]
39
+ end
40
+
41
+ # Retrieves the platform's version number
42
+ #
43
+ # @return [String] `"Darwin Kernel Version 15.0.0: Wed Aug 26 16:57:32 PDT 2015; root:xnu-3247.1.106~1/RELEASE_X86_64"`
44
+ def version
45
+ @status.current[:monit][:platform][:version]
46
+ end
47
+
48
+ # Retrieves the platform's machine type
49
+ #
50
+ # @return [String] `"x86_64"`
51
+ def machine
52
+ @status.current[:monit][:platform][:machine]
53
+ end
54
+
55
+ # Retrieves the platform's aggregate (user / system) CPU usage
56
+ #
57
+ # @return [String] `"4"`
58
+ def cpu
59
+ @status.current[:monit][:platform][:cpu]
60
+ end
61
+
62
+ # Retrieves the platform's total RAM (used & available)
63
+ #
64
+ # @return [String] `"16777216"`
65
+ def memory
66
+ @status.current[:monit][:platform][:memory]
67
+ end
68
+
69
+ # Retrieves the platform's total swap (used & available)
70
+ #
71
+ # @return [String] `"0"`
72
+ def swap
73
+ @status.current[:monit][:platform][:swap]
74
+ end
75
+ end
76
+ end
@@ -0,0 +1,117 @@
1
+ # Bark is a client for interacting with the Monit client.
2
+ module Bark
3
+ # The Server class hits the Status Monit API endpoint and then segments
4
+ # it accordingly
5
+ class Server
6
+ def initialize(client)
7
+ @client = client
8
+ @status = Bark::Status.new client
9
+ end
10
+
11
+ # Retrieves the server's status
12
+ #
13
+ # @return [Hash] `{:id=>"4674ff31c162bba574525571642b67fd", :incarnation=>"1443740471", :version=>"5.14", :uptime=>"14536", :poll=>"30", :startdelay=>"0", :localhostname=>"JohnDoe-Laptop.com", :controlfile=>"/Users/jdoe/.monitrc", :httpd=>{:address=>"localhost", :port=>"2812", :ssl=>"0"}}`
14
+ def status
15
+ @status.current[:monit][:server]
16
+ end
17
+
18
+ # Retrieves the platform's id
19
+ #
20
+ # @return [String] `"4674ff31c162bba574525571642b67fd"`
21
+ def id
22
+ @status.current[:monit][:server][:id]
23
+ end
24
+
25
+ # Retrieves the platform's incarnation
26
+ #
27
+ # @return [String] `"1443740471"`
28
+ def incarnation
29
+ @status.current[:monit][:server][:incarnation]
30
+ end
31
+
32
+ # Retrieves the platform's monit version number
33
+ #
34
+ # @return [String] `"5.14"`
35
+ def monit_version
36
+ @status.current[:monit][:server][:version]
37
+ end
38
+
39
+ # Retrieves the platform's uptime
40
+ #
41
+ # @return [String] `"14536"`
42
+ def uptime
43
+ @status.current[:monit][:server][:uptime]
44
+ end
45
+
46
+ # Retrieves the platform's polling rate
47
+ #
48
+ # @return [String] `"30"`
49
+ def poll
50
+ @status.current[:monit][:server][:poll]
51
+ end
52
+
53
+ # Retrieves the platform's start delay time
54
+ #
55
+ # @return [String] `"0"`
56
+ def start_delay
57
+ @status.current[:monit][:server][:startdelay]
58
+ end
59
+
60
+ # Retrieves the platform's hostname
61
+ #
62
+ # @return [String] `"JohnDoe-Laptop.com"`
63
+ def hostname
64
+ @status.current[:monit][:server][:localhostname]
65
+ end
66
+
67
+ # Retrieves the platform's control file path
68
+ #
69
+ # @return [String] `"/Users/jdoe/.monitrc"`
70
+ def control_file
71
+ @status.current[:monit][:server][:controlfile]
72
+ end
73
+
74
+ # Retrieves the platform's httpd instance object
75
+ #
76
+ # @return [Hash] `{:address=>"localhost", :port=>"2812", :ssl=>"0"}`
77
+ def httpd
78
+ @status.current[:monit][:server][:httpd]
79
+ end
80
+
81
+ # Retrieves the platform's httpd instance address / hostname
82
+ #
83
+ # @return [String] `"localhost"`
84
+ def httpd_address
85
+ @status.current[:monit][:server][:httpd][:address]
86
+ end
87
+
88
+ # Retrieves the platform's httpd instance port number
89
+ #
90
+ # @return [String] `"2812"`
91
+ def httpd_port
92
+ @status.current[:monit][:server][:httpd][:port]
93
+ end
94
+
95
+ # Retrieves the platform's httpd instance SSL boolean (binary)
96
+ #
97
+ # @return [String] `"0"`
98
+ def httpd_ssl
99
+ @status.current[:monit][:server][:httpd][:ssl]
100
+ end
101
+
102
+ private
103
+
104
+ # Validates whether we successfully retrieved the response or if we got an unknown / unexpected
105
+ # error.
106
+ #
107
+ # @return [Hash]
108
+ def validate(response)
109
+ if response.status_type == :success
110
+ document = Hash.from_xml(response.body)
111
+ else
112
+ fail StandardError, 'An unknown error occurred.'
113
+ end
114
+ document
115
+ end
116
+ end
117
+ end
@@ -0,0 +1,36 @@
1
+ # Bark is a client for interacting with the Monit client.
2
+ module Bark
3
+ # The Service class hits the Status Monit API endpoint
4
+ class Service
5
+ def initialize(client)
6
+ @client = client
7
+ @status = Bark::Status.new client
8
+ end
9
+
10
+ # Retrieves the services which Monit has running / is monitoring
11
+ #
12
+ # @return [Array]
13
+ def each
14
+ response = @status.current[:monit][:service]
15
+ if response.is_a? Array
16
+ @services = response.map do |service|
17
+ service
18
+ end
19
+ else
20
+ @services = [@hash["monit"]["service"]]
21
+ end
22
+ @services
23
+ end
24
+
25
+ private
26
+
27
+ def validate(response)
28
+ if response.status_type == :success
29
+ document = Hash.from_xml(response.body)
30
+ else
31
+ fail StandardError, 'An unknown error occurred.'
32
+ end
33
+ document
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,28 @@
1
+ # Bark is a client for interacting with the Monit client.
2
+ module Bark
3
+ # The Status class hits the Status Monit API endpoint
4
+ class Status
5
+ def initialize(client)
6
+ @client = client
7
+ end
8
+
9
+ # Retrieves the current status of Monit. **Note:** This is the top level API object
10
+ #
11
+ # @return [String] `"localhost"`
12
+ def current
13
+ response = @client.get('_status', format: 'xml')
14
+ validate response
15
+ end
16
+
17
+ private
18
+
19
+ def validate(response)
20
+ if response.status_type == :success
21
+ document = Hash.from_xml(response.body)
22
+ else
23
+ fail StandardError, 'An unknown error occurred.'
24
+ end
25
+ document
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,56 @@
1
+ class Hash
2
+ class << self
3
+ def from_xml(xml_io)
4
+ begin
5
+ result = Nokogiri::XML(xml_io)
6
+ return { result.root.name.to_sym => xml_node_to_hash(result.root) }
7
+ rescue StandardError => e
8
+ puts e
9
+ end
10
+ end
11
+
12
+ def xml_node_to_hash(node)
13
+ # If we are at the root of the document, start the hash
14
+ if node.element?
15
+ result_hash = {}
16
+ if node.attributes != {}
17
+ attributes = {}
18
+ node.attributes.keys.each do |key|
19
+ attributes[node.attributes[key].name.to_sym] = node.attributes[key].value
20
+ end
21
+ end
22
+ if node.children.size > 0
23
+ node.children.each do |child|
24
+ result = xml_node_to_hash(child)
25
+
26
+ if child.name == 'text'
27
+ unless child.next_sibling || child.previous_sibling
28
+ return result unless attributes
29
+ result_hash[child.name.to_sym] = result
30
+ end
31
+ elsif result_hash[child.name.to_sym]
32
+
33
+ if result_hash[child.name.to_sym].is_a?(Object::Array)
34
+ result_hash[child.name.to_sym] << result
35
+ else
36
+ result_hash[child.name.to_sym] = [result_hash[child.name.to_sym]] << result
37
+ end
38
+ else
39
+ result_hash[child.name.to_sym] = result
40
+ end
41
+ end
42
+ if attributes
43
+ #add code to remove non-data attributes e.g. xml schema, namespace here
44
+ #if there is a collision then node content supersets attributes
45
+ result_hash = attributes.merge(result_hash)
46
+ end
47
+ return result_hash
48
+ else
49
+ return attributes
50
+ end
51
+ else
52
+ return node.content.to_s
53
+ end
54
+ end
55
+ end
56
+ end
@@ -0,0 +1,10 @@
1
+ class String
2
+ def last_character
3
+ self[-1]
4
+ end
5
+
6
+ def with_trailing_slash
7
+ return self + '/' if last_character != '/'
8
+ self
9
+ end
10
+ end
@@ -0,0 +1,5 @@
1
+ # Bark is a client for interacting with the Monit client.
2
+ module Bark
3
+ # The current version of Bark
4
+ VERSION = "1.0.0"
5
+ end
metadata ADDED
@@ -0,0 +1,191 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: barking
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0
5
+ platform: ruby
6
+ authors:
7
+ - Kevin Kirsche
8
+ autorequire:
9
+ bindir: exe
10
+ cert_chain: []
11
+ date: 2015-10-02 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: hurley
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '0.2'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '0.2'
27
+ - !ruby/object:Gem::Dependency
28
+ name: nokogiri
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '1.6'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '1.6'
41
+ - !ruby/object:Gem::Dependency
42
+ name: codeclimate-test-reporter
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '0.4'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '0.4'
55
+ - !ruby/object:Gem::Dependency
56
+ name: bundler
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '1.10'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '1.10'
69
+ - !ruby/object:Gem::Dependency
70
+ name: rake
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '10.0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '10.0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: minitest
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: '5.8'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: '5.8'
97
+ - !ruby/object:Gem::Dependency
98
+ name: yard
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: '0.8'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: '0.8'
111
+ - !ruby/object:Gem::Dependency
112
+ name: redcarpet
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - "~>"
116
+ - !ruby/object:Gem::Version
117
+ version: '3.3'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - "~>"
123
+ - !ruby/object:Gem::Version
124
+ version: '3.3'
125
+ - !ruby/object:Gem::Dependency
126
+ name: github-markup
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - "~>"
130
+ - !ruby/object:Gem::Version
131
+ version: '0.6'
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - "~>"
137
+ - !ruby/object:Gem::Version
138
+ version: '0.6'
139
+ description: 'Bark: A Gem For Use By Individuals Looking to Retrieve Data From a Monit
140
+ Server'
141
+ email:
142
+ - kev.kirsche@gmail.com
143
+ executables: []
144
+ extensions: []
145
+ extra_rdoc_files: []
146
+ files:
147
+ - ".codeclimate.yml"
148
+ - ".gitignore"
149
+ - ".travis.yml"
150
+ - ".yardopts"
151
+ - Gemfile
152
+ - README.md
153
+ - Rakefile
154
+ - bark.gemspec
155
+ - bin/console
156
+ - bin/setup
157
+ - lib/bark.rb
158
+ - lib/bark/client.rb
159
+ - lib/bark/platform.rb
160
+ - lib/bark/server.rb
161
+ - lib/bark/service.rb
162
+ - lib/bark/status.rb
163
+ - lib/bark/utils/hash_helpers.rb
164
+ - lib/bark/utils/string_helpers.rb
165
+ - lib/bark/version.rb
166
+ homepage: https://github.com/kkirsche/Bark
167
+ licenses:
168
+ - Apache-2.0)
169
+ metadata: {}
170
+ post_install_message:
171
+ rdoc_options: []
172
+ require_paths:
173
+ - lib
174
+ required_ruby_version: !ruby/object:Gem::Requirement
175
+ requirements:
176
+ - - ">="
177
+ - !ruby/object:Gem::Version
178
+ version: '0'
179
+ required_rubygems_version: !ruby/object:Gem::Requirement
180
+ requirements:
181
+ - - ">="
182
+ - !ruby/object:Gem::Version
183
+ version: '0'
184
+ requirements: []
185
+ rubyforge_project:
186
+ rubygems_version: 2.4.5.1
187
+ signing_key:
188
+ specification_version: 4
189
+ summary: Monit monitoring made easy!
190
+ test_files: []
191
+ has_rdoc: