diff --git a/lib/pingdom/client.rb b/lib/pingdom/client.rb index 2481d5e..3023b59 100644 --- a/lib/pingdom/client.rb +++ b/lib/pingdom/client.rb @@ -40,6 +40,11 @@ def get(uri, params = {}, &block) update_limits!(response.headers['req-limit-short'], response.headers['req-limit-long']) response end + + def post(uri, params) + response = @connection.post(@connection.build_url(uri, prepare_params(params)), nil, "App-Key" => @options[:key]) + response + end def update_limits!(short, long) @limit ||= {} @@ -63,6 +68,15 @@ def test!(options = {}) def checks(options = {}) Check.parse(self, get("checks", options)) end + + REQUIRED_FOR_CREATE = [:name, :host, :type] + def create_check(options = {}) + missing_keys = REQUIRED_FOR_CREATE - options.keys + raise ArgumentError, "#{missing_keys} required" if missing_keys.any? + + Check.parse(self, post("checks", options)) + end + def check(id) Check.parse(self, get("checks/#{id}")).first end diff --git a/pingdom-client.gemspec b/pingdom-client.gemspec index 473eaa4..37c76bc 100644 --- a/pingdom-client.gemspec +++ b/pingdom-client.gemspec @@ -1,6 +1,6 @@ Gem::Specification.new do |s| s.name = %q{pingdom-client} - s.version = "0.0.6.alpha.af2" + s.version = "0.0.6.oib" s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version= s.authors = ["Matt Todd"] @@ -25,7 +25,7 @@ Gem::Specification.new do |s| "lib/pingdom.rb", "lib/tinder/faraday_response.rb", "Rakefile", - "Readme.md", + "README.md", "spec/pingdom-client_spec.rb", "spec/spec_helper.rb" ]