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.3.4"

Class Method Summary collapse

Class Method Details

.base_uriObject Also known as: base_url



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

def base_uri
  @base_uri
end

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



73
74
75
# File 'lib/pebblebed/config.rb', line 73

def base_uri=(value)
  @base_uri = value
end

.base_url_for(url_opts) ⇒ Object

Raises:

  • (RuntimeError)


91
92
93
94
95
96
97
98
# File 'lib/pebblebed/config.rb', line 91

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



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

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

.hostObject



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

def host
  @host
end

.host=(value) ⇒ Object



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

def host=(value)
  @host = value
end

.memcachedObject

Raises:

  • (RuntimeError)


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

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

.memcached=(value) ⇒ Object



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

def memcached=(value)
  @memcached = value
end

.path_of(service) ⇒ Object



83
84
85
# File 'lib/pebblebed/config.rb', line 83

def path_of(service)
  @services[service.to_sym][:path] || "/api/#{service}"
end

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



25
26
27
28
29
30
31
32
# File 'lib/pebblebed/config.rb', line 25

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



87
88
89
# File 'lib/pebblebed/config.rb', line 87

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

.servicesObject



64
65
66
# File 'lib/pebblebed/config.rb', line 64

def services
  @services.keys
end


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

def session_cookie
  @session_cookie || 'checkpoint.session'
end

.session_cookie=(value) ⇒ Object



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

def session_cookie=(value)
  @session_cookie = value
end

.version_of(service) ⇒ Object



78
79
80
81
# File 'lib/pebblebed/config.rb', line 78

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