Module: Pebblebed
- Defined in:
- lib/pebblebed/security/client.rb,
lib/pebblebed/uid.rb,
lib/pebblebed/http.rb,
lib/pebblebed/river.rb,
lib/pebblebed/config.rb,
lib/pebblebed/labels.rb,
lib/pebblebed/ndjson.rb,
lib/pebblebed/version.rb,
lib/pebblebed/connector.rb,
lib/pebblebed/rspec_helper.rb,
lib/pebblebed/security/listener.rb,
lib/pebblebed/river/subscription.rb,
lib/pebblebed/security/access_data.rb,
lib/pebblebed/security/role_schema.rb,
lib/pebblebed/clients/quorum_client.rb,
lib/pebblebed/clients/generic_client.rb,
lib/pebblebed/clients/abstract_client.rb
Overview
A client that talks to a number of clients all at on
Defined Under Namespace
Modules: Http, RSpecHelper, Security
Classes: AbstractClient, Builder, Connector, GenericClient, HttpError, HttpNotFoundError, HttpSocketError, HttpTimeoutError, HttpTransportError, InvalidUid, Labels, NdjsonBuffer, Parts, QuorumClient, River, Uid
Constant Summary
collapse
- VERSION =
"0.4.11"
Class Attribute Summary collapse
Class Method Summary
collapse
Class Attribute Details
.default_host ⇒ Object
Returns the value of attribute default_host.
47
48
49
|
# File 'lib/pebblebed/config.rb', line 47
def default_host
@default_host
end
|
.host ⇒ Object
Returns the value of attribute host.
47
48
49
|
# File 'lib/pebblebed/config.rb', line 47
def host
@host
end
|
.scheme ⇒ Object
Returns the value of attribute scheme.
47
48
49
|
# File 'lib/pebblebed/config.rb', line 47
def scheme
@scheme
end
|
Class Method Details
.base_uri ⇒ Object
Also known as:
base_url
70
71
72
|
# File 'lib/pebblebed/config.rb', line 70
def base_uri
@base_uri
end
|
.base_uri=(value) ⇒ Object
Also known as:
base_url=
75
76
77
|
# File 'lib/pebblebed/config.rb', line 75
def base_uri=(value)
@base_uri = value
end
|
.base_url_for(url_opts) ⇒ Object
94
95
96
97
98
99
100
101
102
|
# File 'lib/pebblebed/config.rb', line 94
def base_url_for(url_opts)
raise RuntimeError, "Please specify only one of host & base_uri" if url_opts[:host] && (url_opts[:base_uri] || url_opts[:base_url])
[:base_uri, :base_url].each do |key|
return url_opts[key] if url_opts[key]
end
scheme = url_opts[:scheme] || ::Pebblebed.scheme || 'http'
return "#{scheme}://#{url_opts[:host]}" if url_opts[:host]
base_uri || "#{scheme}://#{host}"
end
|
.config(&block) ⇒ Object
43
44
45
|
# File 'lib/pebblebed/config.rb', line 43
def config(&block)
Builder.new.send(:instance_eval, &block)
end
|
.memcached ⇒ Object
49
50
51
52
|
# File 'lib/pebblebed/config.rb', line 49
def memcached
raise RuntimeError, "Please set Pebblebed.memcached = <your memcached client>" unless @memcached
@memcached
end
|
.memcached=(value) ⇒ Object
54
55
56
|
# File 'lib/pebblebed/config.rb', line 54
def memcached=(value)
@memcached = value
end
|
.path_of(service) ⇒ Object
85
86
87
|
# File 'lib/pebblebed/config.rb', line 85
def path_of(service)
@services[service.to_sym][:path] || "/api/#{service}"
end
|
.require_service(name, options = {}) ⇒ Object
33
34
35
36
37
38
39
40
|
# File 'lib/pebblebed/config.rb', line 33
def self.require_service(name, options = {})
(@services ||= {})[name.to_sym] = options
Pebblebed::Connector.class_eval <<-END
def #{name}
self["#{name}"]
end
END
end
|
.root_url_for(service, url_opts = {}) ⇒ Object
89
90
91
92
|
# File 'lib/pebblebed/config.rb', line 89
def root_url_for(service, url_opts = {})
url_opts = {host: (@services[service.to_sym] || {})[:host]}.merge(url_opts)
URI.join(base_url_for(url_opts), "#{path_of(service)}/v#{version_of(service)}/")
end
|
.services ⇒ Object
66
67
68
|
# File 'lib/pebblebed/config.rb', line 66
def services
@services.keys
end
|
.session_cookie ⇒ Object
58
59
60
|
# File 'lib/pebblebed/config.rb', line 58
def session_cookie
@session_cookie || 'checkpoint.session'
end
|
.session_cookie=(value) ⇒ Object
62
63
64
|
# File 'lib/pebblebed/config.rb', line 62
def session_cookie=(value)
@session_cookie = value
end
|
.version_of(service) ⇒ Object
80
81
82
83
|
# File 'lib/pebblebed/config.rb', line 80
def version_of(service)
return 1 unless @services && @services[service.to_sym]
@services[service.to_sym][:version] || 1
end
|