Class: Eezee::Configuration

Inherits:
Object
  • Object
show all
Defined in:
lib/eezee/configuration.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeConfiguration

Returns a new instance of Configuration.



7
8
9
# File 'lib/eezee/configuration.rb', line 7

def initialize
  @services = {}
end

Instance Attribute Details

#servicesObject (readonly)

Returns the value of attribute services.



5
6
7
# File 'lib/eezee/configuration.rb', line 5

def services
  @services
end

Instance Method Details

#add_service(name, options) ⇒ Object



11
12
13
14
15
# File 'lib/eezee/configuration.rb', line 11

def add_service(name, options)
  return unless name && options

  @services[name] = Request.new(options)
end

#find_service(name) ⇒ Object



17
18
19
# File 'lib/eezee/configuration.rb', line 17

def find_service(name)
  @services[name]
end

#request_by(request, options) ⇒ Object



21
22
23
24
25
26
# File 'lib/eezee/configuration.rb', line 21

def request_by(request, options)
  Marshal.dump(request&.attributes || {})
         .then { |dumped| Marshal.load(dumped) } # rubocop:disable Security/MarshalLoad
         .then { |attrs| attrs.merge(options || {}) }
         .then { |attrs| Request.new(attrs) }
end