konzertmeister 2.1.3 → 2.1.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 0ca90c17f6172668f11d6e88749f3158b3e1c0c0
4
- data.tar.gz: a2bd917e517aa8130a9055492971d70b2db0223d
3
+ metadata.gz: 80f284a429c65e6524596988621f155921b1cfdc
4
+ data.tar.gz: c125717ec9317e7e815cb8e05eb870fdcbf87d3e
5
5
  SHA512:
6
- metadata.gz: 2b515e2aa966570da9b431e8e248acba0a692c21db85b03c27f6ff8e202d8e3abaf4430cdfd50eb1c11b992793eb9245716393e0e9b9bb493ba6a2c8ea1caddd
7
- data.tar.gz: 214d56fcb28d139094e903f13f6bb7157503a4e2dc732eb0a18577e52836a6c843fcaae88ee17921f46961cc03a6df7edd4b108fd2e6cd1cba1af97579e5d7ed
6
+ metadata.gz: 69aee1f995896b1867791b5fca8128ca5e08456e8355eceef03d62df761ba19c1f54c972238b17855cc82287242686b93a2859a3857be0a911c9ddaed807896e
7
+ data.tar.gz: cdc573a551cc98e9de427df1dde31a1f52a12e9f333d73752bf89f1d8633971fd8a3b495afb614576da561d69eb43ac085de7fb3be60d6265003a45d2f571a84
@@ -78,6 +78,10 @@ class Konzertmeister
78
78
  end
79
79
  end
80
80
 
81
+ def destroy
82
+ Konzertmeister.session.delete("/backends/id/#{self.id}")
83
+ end
84
+
81
85
  def hosts
82
86
  @hosts ||= if @data.key?('hosts')
83
87
  @data.fetch('hosts').map do |host_hash|
@@ -45,6 +45,10 @@ class Konzertmeister
45
45
  end
46
46
  end
47
47
 
48
+ def destroy
49
+ Konzertmeister.session.delete("/customers/id/#{self.id}")
50
+ end
51
+
48
52
  def backends
49
53
  @backends ||= if @data.key?('backends')
50
54
  @data.fetch('backends').map do |be_hash|
@@ -16,53 +16,28 @@ class Konzertmeister
16
16
  end
17
17
 
18
18
  def get(path, headers = {}, &block)
19
- url = _url(path)
20
- params = _request_params(
21
- :method => :get,
22
- :url => url,
23
- :headers => headers,
24
- :timeout => nil
25
- )
26
- begin
27
- json = RestClient::Request.execute(params, &block)
28
- JSON.parse(json)
29
- rescue => e
30
- puts "ERROR"
31
- p e
32
- false
33
- end
19
+ execute_http(:get, path, {}, headers, &block)
34
20
  end
35
21
 
36
- def post(path, params, headers = {}, &block)
37
- json = JSON.generate(params)
38
- url = _url(path)
39
- request_params = _request_params({
40
- :method => :post,
41
- :url => url,
42
- :payload => json,
43
- :headers => headers,
44
- :timeout => nil
45
- })
46
- begin
47
- response = RestClient::Request.execute(request_params, &block)
48
- if response.empty?
49
- {}
50
- else
51
- JSON.parse(response)
52
- end
53
- rescue RestClient::Exception => e
54
- puts
55
- puts "ERROR making request to #{path}:"
56
- p e
57
- false
58
- end
22
+ def post(path, params = {}, headers = {}, &block)
23
+ execute_http(:post, path, params, headers, &block)
24
+ end
25
+
26
+ def put(path, params = {}, headers = {}, &block)
27
+ execute_http(:put, path, params, headers, &block)
59
28
  end
60
29
 
61
- def put(path, params, headers = {}, &block)
62
- json = JSON.generate(params)
63
- url = _url(path)
64
- request_params = _request_params({
65
- :method => :put,
30
+ def delete(path, params = {}, headers = {}, &block)
31
+ execute_http(:delete, path, params, headers, &block)
32
+ end
33
+
34
+ private
35
+
36
+ def execute_http(method, path, params, headers, &block)
37
+ json = params.empty? ? nil : JSON.generate(params)
38
+ url = url_for(path)
39
+ request_params = request_params({
40
+ :method => method,
66
41
  :url => url,
67
42
  :payload => json,
68
43
  :headers => headers,
@@ -83,15 +58,16 @@ class Konzertmeister
83
58
  end
84
59
  end
85
60
 
86
- def _request_params(extra = {})
61
+ def request_params(extra = {})
87
62
  base = {}
88
63
  base[:ssl_client_cert] = @ssl_client_cert if @ssl_client_cert
89
64
  base[:ssl_client_key] = @ssl_client_key if @ssl_client_key
65
+ base.delete(:payload) if [:get, :head].include?(base[:method])
90
66
 
91
67
  base.merge(extra)
92
68
  end
93
69
 
94
- def _url(path = nil)
70
+ def url_for(path = nil)
95
71
  scheme = (@port == 443 ? "https" : "http")
96
72
  [
97
73
  "#{scheme}://#{@hostname}:#{@port}",
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: konzertmeister
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.3
4
+ version: 2.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - TempoIQ Inc.
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-02-26 00:00:00.000000000 Z
11
+ date: 2015-03-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rest-client