Class: Pebblebed::Connector
- Inherits:
-
Object
- Object
- Pebblebed::Connector
- Defined in:
- lib/pebblebed/connector.rb
Instance Attribute Summary collapse
-
#key ⇒ Object
Returns the value of attribute key.
Class Method Summary collapse
Instance Method Summary collapse
- #[](service) ⇒ Object
-
#initialize(key = nil, url_opts = {}) ⇒ Connector
constructor
A new instance of Connector.
- #parts ⇒ Object
-
#quorum(services = nil, session_key = nil) ⇒ Object
Returns a quorum client that talks to the provided list of pebbles all at once.
Constructor Details
#initialize(key = nil, url_opts = {}) ⇒ Connector
Returns a new instance of Connector.
6 7 8 9 10 |
# File 'lib/pebblebed/connector.rb', line 6 def initialize(key = nil, url_opts = {}) @key = key @clients = {} @url_opts = url_opts end |
Instance Attribute Details
#key ⇒ Object
Returns the value of attribute key.
5 6 7 |
# File 'lib/pebblebed/connector.rb', line 5 def key @key end |
Class Method Details
.client_class_for(service) ⇒ Object
30 31 32 33 34 35 36 37 |
# File 'lib/pebblebed/connector.rb', line 30 def self.client_class_for(service) class_name = ActiveSupport::Inflector.classify(service)+'Client' begin Pebblebed.const_get(class_name) rescue NameError GenericClient end end |
Instance Method Details
#[](service) ⇒ Object
12 13 14 15 |
# File 'lib/pebblebed/connector.rb', line 12 def [](service) client_class = self.class.client_class_for(service) (@clients[service.to_sym] ||= client_class.new(@key, Pebblebed.root_url_for(service.to_s, @url_opts))) end |
#parts ⇒ Object
26 27 28 |
# File 'lib/pebblebed/connector.rb', line 26 def parts @@parts ||= Pebblebed::Parts.new(self) end |
#quorum(services = nil, session_key = nil) ⇒ Object
Returns a quorum client that talks to the provided list of pebbles all at once. The result is a hash of services and their responses. If any service returned an error, their entry in the hash will be an HttpError object.
21 22 23 |
# File 'lib/pebblebed/connector.rb', line 21 def quorum(services = nil, session_key = nil) QuorumClient.new(services || Pebblebed.services, session_key) end |