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_hostObject

Returns the value of attribute default_host.



47
48
49
# File 'lib/pebblebed/config.rb', line 47

def default_host
  @default_host
end

.hostObject

Returns the value of attribute host.



47
48
49
# File 'lib/pebblebed/config.rb', line 47

def host
  @host
end

.schemeObject

Returns the value of attribute scheme.



47
48
49
# File 'lib/pebblebed/config.rb', line 47

def scheme
  @scheme
end

Class Method Details

.base_uriObject 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

Raises:

  • (RuntimeError)


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

.memcachedObject

Raises:

  • (RuntimeError)


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

.servicesObject



66
67
68
# File 'lib/pebblebed/config.rb', line 66

def services
  @services.keys
end


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