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/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, InvalidUid, Labels, Parts, QuorumClient, River, Uid

Constant Summary collapse

VERSION =
"0.1.2"

Class Method Summary collapse

Class Method Details

.base_uriObject Also known as: base_url



56
57
58
# File 'lib/pebblebed/config.rb', line 56

def base_uri
  @base_uri
end

.base_uri=(value) ⇒ Object Also known as: base_url=



61
62
63
# File 'lib/pebblebed/config.rb', line 61

def base_uri=(value)
  @base_uri = value
end

.base_url_for(url_opts) ⇒ Object

Raises:

  • (RuntimeError)


75
76
77
78
79
80
81
82
# File 'lib/pebblebed/config.rb', line 75

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
  return "http://#{url_opts[:host]}" if url_opts[:host]
  base_uri || "http://#{host}"
end

.config(&block) ⇒ Object



31
32
33
# File 'lib/pebblebed/config.rb', line 31

def config(&block)
  Builder.new.send(:instance_eval, &block)
end

.hostObject



35
36
37
# File 'lib/pebblebed/config.rb', line 35

def host
  @host
end

.host=(value) ⇒ Object



39
40
41
# File 'lib/pebblebed/config.rb', line 39

def host=(value)
  @host = value
end

.memcachedObject

Raises:

  • (RuntimeError)


43
44
45
46
# File 'lib/pebblebed/config.rb', line 43

def memcached
  raise RuntimeError, "Please set Pebblebed.memcached = <your memcached client>" unless @memcached
  @memcached
end

.memcached=(value) ⇒ Object



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

def memcached=(value)
  @memcached = value
end

.require_service(name, options = {}) ⇒ Object



21
22
23
24
25
26
27
28
# File 'lib/pebblebed/config.rb', line 21

def self.require_service(name, options = {})
  (@services ||= {})[name.to_sym] = options
  Pebblebed::Connector.class_eval "    def \#{name}\n      self[\"\#{name}\"]\n    end\n  END\nend\n"

.root_url_for(service, url_opts = {}) ⇒ Object



71
72
73
# File 'lib/pebblebed/config.rb', line 71

def root_url_for(service, url_opts={})
  URI.join(base_url_for(url_opts), "/api/#{service}/v#{version_of(service)}/")
end

.servicesObject



52
53
54
# File 'lib/pebblebed/config.rb', line 52

def services
  @services.keys
end

.version_of(service) ⇒ Object



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

def version_of(service)
  return 1 unless @services && @services[service.to_sym]
  @services[service.to_sym][:version] || 1
end