kubr 0.0.1 → 0.0.2

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: 80eebaf14a1ba6039e9b5295c1a3894b99930c32
4
- data.tar.gz: 8ad2b57fc256c63d376fa5f6538508457e5bb9e3
3
+ metadata.gz: e0a93143ea1389eb7db5da7f3dea0cc05bf3ab3a
4
+ data.tar.gz: 65b6857bf3c16b657406a46c08c96f36db6cdf49
5
5
  SHA512:
6
- metadata.gz: edae0c1614584bb86dfcd1a6d5021db6b2ccb948a152260706ce6878d5bef206b53937bdc40aa850afd0658ddbb7b5cca8be2888d50956f0d17664bd587e4a6c
7
- data.tar.gz: feb99400c64f60c64763cfd59f9023ac0108221b3a94216413c076b89859ddb4b830dcbbba92e74da9bcb1ce45893e0fe312591d0b0fde63ee1f70ad3f7e53a8
6
+ metadata.gz: 7e2ff6b101743c7cc3bfd4fbe3a6d4362eb8cfa91507ddd247b44e5c45ea7451e1e24dd56b06420f66d1803858c89e19b092ad339a155d962f87c3d787044de0
7
+ data.tar.gz: dca7dc2a4b3968dda78502fde2ba88c624ab9b681040305e290eec41d76074e20b2ca971e1be2a8f696e723a90a4c5e5464adf087874926ade05ebd359e21306
data/README.md CHANGED
@@ -1,4 +1,4 @@
1
- Kubr
1
+ kubr
2
2
  =====
3
3
 
4
4
  Ruby client for [Kubrnetes](https://github.com/GoogleCloudPlatform/Kubrnetes)
@@ -8,14 +8,14 @@ Installation
8
8
  ------------
9
9
 
10
10
  ```
11
- gem install Kubr
11
+ gem install kubr
12
12
  ```
13
13
 
14
14
  Usage
15
15
  -----
16
16
 
17
- ```
18
- require 'Kubr'
17
+ ```ruby
18
+ require 'kubr'
19
19
 
20
20
  Kubr.configure do |config|
21
21
  config.url = 'https://130.211.56.93/api/v1beta1'
@@ -12,32 +12,46 @@ module Kubr
12
12
  :verify_ssl => OpenSSL::SSL::VERIFY_NONE)
13
13
  end
14
14
 
15
- def send_request(method, path, body=nil)
15
+ def send_request(method, path, labels=nil, body=nil)
16
16
  args = [method]
17
17
  args << body.to_json if body
18
+ path += parse_labels_hash(labels) if labels
18
19
  process_response @cl[path].send(*args)
20
+ rescue RestClient::UnprocessableEntity, RestClient::InternalServerError => e
21
+ process_response e.response
19
22
  end
20
23
 
21
24
  def process_response(response)
22
25
  JSON.parse(response).recursively_symbolize_keys!
23
26
  end
24
27
 
25
- ['pod', 'service', 'replicationController'].each do |entity|
26
- define_method "list_#{entity.underscore.pluralize}" do
27
- response = send_request :get, entity.pluralize
28
- response[:items]
29
- end
28
+ def parse_labels_hash(labels)
29
+ labels_string = '?labels='
30
+ labels.each { |key, value| labels_string << "#{key}=#{value}," }
31
+ labels_string
32
+ end
30
33
 
31
- define_method "create_#{entity.underscore}" do |config|
32
- send_request :post, entity.pluralize, config
34
+ ['minion', 'pod', 'service', 'replicationController'].each do |entity|
35
+ define_method "list_#{entity.underscore.pluralize}" do |labels=nil|
36
+ send_request :get, entity.pluralize, labels
33
37
  end
34
38
 
35
- define_method "update_#{entity.underscore}" do |config|
36
- send_request :put, entity.pluralize, config
39
+ define_method "get_#{entity.underscore}" do |id|
40
+ send_request :get, "#{entity.pluralize}/#{id}"
37
41
  end
38
42
 
39
- define_method "delete_#{entity.underscore}" do |id|
40
- send_request :delete, "#{entity.pluralize}/#{id}"
43
+ unless entity == 'minion'
44
+ define_method "create_#{entity.underscore}" do |config|
45
+ send_request :post, entity.pluralize, config
46
+ end
47
+
48
+ define_method "update_#{entity.underscore}" do |config|
49
+ send_request :put, entity.pluralize, config
50
+ end
51
+
52
+ define_method "delete_#{entity.underscore}" do |id|
53
+ send_request :delete, "#{entity.pluralize}/#{id}"
54
+ end
41
55
  end
42
56
  end
43
57
  end
@@ -1,3 +1,3 @@
1
1
  module Kubr
2
- VERSION = '0.0.1'
2
+ VERSION = '0.0.2'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kubr
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andriy Yurchuk
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-09-04 00:00:00.000000000 Z
11
+ date: 2014-09-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rest-client