Class: ExceptionsBegone::ConnectionConfigurator
- Inherits:
-
Object
- Object
- ExceptionsBegone::ConnectionConfigurator
show all
- Defined in:
- lib/exceptions_begone/connection_configurator.rb
Constant Summary
collapse
- @@defaults =
{
:project => "production",
:port => 80,
:open_timeout => 5,
:read_timeout => 5,
:host => "127.0.0.1"
}
Class Attribute Summary collapse
Class Method Summary
collapse
Instance Method Summary
collapse
Constructor Details
Returns a new instance of ConnectionConfigurator.
29
30
31
32
33
|
# File 'lib/exceptions_begone/connection_configurator.rb', line 29
def initialize(parameters = {})
parameters.each do |method_name, key|
self.__send__("#{method_name}=", key)
end
end
|
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
#method_missing(method_id, *args, &block) ⇒ Object
39
40
41
42
43
44
45
46
47
48
49
50
|
# File 'lib/exceptions_begone/connection_configurator.rb', line 39
def method_missing(method_id, *args, &block)
method_id.to_s =~ /(\w*)(=)?/
name, setter = $1, $2
super unless @@defaults.include?(name.to_sym)
if setter
instance_variable_set("@#{name}", *args)
else
instance_variable_get("@#{name}") || @@defaults[method_id]
end
end
|
Class Attribute Details
.global_connection ⇒ Object
14
15
16
|
# File 'lib/exceptions_begone/connection_configurator.rb', line 14
def global_connection
@global_connection ||= ConnectionConfigurator.new
end
|
Class Method Details
.build(parameters = {}) ⇒ Object
23
24
25
|
# File 'lib/exceptions_begone/connection_configurator.rb', line 23
def build(parameters = {})
parameters.blank? ? self.global_connection : new(parameters)
end
|
.global_parameters=(parameters = {}) ⇒ Object
18
19
20
21
|
# File 'lib/exceptions_begone/connection_configurator.rb', line 18
def global_parameters=(parameters = {})
parameters = parameters.marshal_dump if parameters.respond_to?(:marshal_dump)
self.global_connection = ConnectionConfigurator.build(parameters)
end
|
Instance Method Details
#path ⇒ Object
35
36
37
|
# File 'lib/exceptions_begone/connection_configurator.rb', line 35
def path
"/projects/#{project}/notifications"
end
|