diplomat 0.9.0 → 0.9.1
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 +4 -4
- data/lib/diplomat.rb +8 -0
- data/lib/diplomat/check.rb +11 -7
- data/lib/diplomat/configuration.rb +5 -0
- data/lib/diplomat/rest_client.rb +18 -4
- data/lib/diplomat/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1acdbd2886416cb3307f284fd3ebeecd6cd66852
|
4
|
+
data.tar.gz: 6b23b7466aa7155f5a2f434f947810d83fe7f6aa
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: be17ae2b3b8c6f3cb6ec2c7a5f389b7a125eb7ffedc9b4bc0d81b8ebe2ffa139ea0415023b792c38db7939d68696a416ef0ce0fed02d6d13fb73ce4b4127a037
|
7
|
+
data.tar.gz: 32396d3ee97ad0e0451e59cf41b1785f90ad4f2361fa165619575f7493e54e3ae0cb5e7e92bba48931d687231b349ef4667798c6dc09ad781bc87b19d991e83b
|
data/lib/diplomat.rb
CHANGED
@@ -8,6 +8,7 @@ module Diplomat
|
|
8
8
|
|
9
9
|
# Internal: Requires internal Faraday libraries.
|
10
10
|
# @param *libs One or more relative String names to Faraday classes.
|
11
|
+
# @return [nil]
|
11
12
|
def require_libs(*libs)
|
12
13
|
libs.each do |lib|
|
13
14
|
require "#{lib_path}/#{lib}"
|
@@ -26,6 +27,7 @@ module Diplomat
|
|
26
27
|
class << self
|
27
28
|
|
28
29
|
# Build optional configuration by yielding a block to configure
|
30
|
+
# @yield [Diplomat::Configuration]
|
29
31
|
def configure
|
30
32
|
self.configuration ||= Diplomat::Configuration.new
|
31
33
|
yield(configuration)
|
@@ -33,6 +35,12 @@ module Diplomat
|
|
33
35
|
|
34
36
|
private
|
35
37
|
|
38
|
+
# Send all other unknown commands to Diplomat::Kv
|
39
|
+
# @deprecated Please use Diplomat::Kv instead.
|
40
|
+
# @param name [Symbol] Method to send to Kv
|
41
|
+
# @param *args List of arguments to send to Kv
|
42
|
+
# @param &block block to send to Kv
|
43
|
+
# @return [Object]
|
36
44
|
def method_missing(name, *args, &block)
|
37
45
|
Diplomat::Kv.new.send(name, *args, &block)
|
38
46
|
end
|
data/lib/diplomat/check.rb
CHANGED
@@ -41,15 +41,19 @@ module Diplomat
|
|
41
41
|
return ret.status == 200
|
42
42
|
end
|
43
43
|
|
44
|
+
# Register a TTL check
|
45
|
+
# @param check_id [String] the unique id of the check
|
46
|
+
# @param name [String] the name
|
47
|
+
# @param notes [String] notes about the check
|
48
|
+
# @param ttl [String] time (with units) to mark a check down
|
49
|
+
# @return [Boolean] Success
|
44
50
|
def register_ttl check_id, name, notes, ttl
|
45
|
-
json = JSON.generate(
|
46
|
-
|
47
|
-
"
|
48
|
-
"Name" => name,
|
51
|
+
json = JSON.generate({
|
52
|
+
"ID" => check_id,
|
53
|
+
"Name" => name,
|
49
54
|
"Notes" => notes,
|
50
|
-
"TTL"
|
51
|
-
}
|
52
|
-
)
|
55
|
+
"TTL" => ttl,
|
56
|
+
})
|
53
57
|
|
54
58
|
ret = @conn.put do |req|
|
55
59
|
req.url "/v1/agent/check/register"
|
@@ -3,12 +3,17 @@ module Diplomat
|
|
3
3
|
attr_accessor :middleware
|
4
4
|
attr_accessor :url, :acl_token
|
5
5
|
|
6
|
+
# Override defaults for configuration
|
7
|
+
# @param url [String] consul's connection URL
|
8
|
+
# @param acl_token [String] a connection token used when making requests to consul
|
6
9
|
def initialize(url="http://localhost:8500", acl_token=nil)
|
7
10
|
@middleware = []
|
8
11
|
@url = url
|
9
12
|
@acl_token = acl_token
|
10
13
|
end
|
11
14
|
|
15
|
+
# Define a middleware for Faraday
|
16
|
+
# @param middleware [Class] Faraday Middleware class
|
12
17
|
def middleware=(middleware)
|
13
18
|
return @middleware = middleware if middleware.is_a? Array
|
14
19
|
@middleware = [middleware]
|
data/lib/diplomat/rest_client.rb
CHANGED
@@ -6,14 +6,23 @@ module Diplomat
|
|
6
6
|
|
7
7
|
@access_methods = []
|
8
8
|
|
9
|
+
# Initialize the fadaray connection
|
10
|
+
# @param api_connection [Faraday::Connection,nil] supply mock API Connection
|
9
11
|
def initialize api_connection=nil
|
10
12
|
start_connection api_connection
|
11
13
|
end
|
12
14
|
|
15
|
+
# Format url parameters into strings correctly
|
16
|
+
# @param name [String] the name of the parameter
|
17
|
+
# @param value [String] the value of the parameter
|
18
|
+
# @return [Array] the resultant parameter string inside an array.
|
13
19
|
def use_named_parameter(name, value)
|
14
20
|
if value then ["#{name}=#{value}"] else [] end
|
15
21
|
end
|
16
22
|
|
23
|
+
# Assemble a url from an array of parts.
|
24
|
+
# @param parts [Array] the url chunks to be assembled
|
25
|
+
# @return [String] the resultant url string
|
17
26
|
def concat_url parts
|
18
27
|
if parts.length > 1 then
|
19
28
|
parts.first + '?' + parts.drop(1).join('&')
|
@@ -24,12 +33,17 @@ module Diplomat
|
|
24
33
|
|
25
34
|
class << self
|
26
35
|
|
27
|
-
def access_method?
|
28
|
-
@access_methods.include?
|
36
|
+
def access_method? meth_id
|
37
|
+
@access_methods.include? meth_id
|
29
38
|
end
|
30
39
|
|
31
|
-
|
32
|
-
|
40
|
+
# Allow certain methods to be accessed
|
41
|
+
# without defining "new".
|
42
|
+
# @param meth_id [Symbol] symbol defining method requested
|
43
|
+
# @param *args Arguments list
|
44
|
+
# @return [Boolean]
|
45
|
+
def method_missing(meth_id, *args)
|
46
|
+
access_method?(meth_id) ? new.send(meth_id, *args) : super
|
33
47
|
end
|
34
48
|
|
35
49
|
end
|
data/lib/diplomat/version.rb
CHANGED