Class: ROM::HTTP::Gateway

Inherits:
Gateway
  • Object
show all
Defined in:
lib/rom/http/gateway.rb

Instance Method Summary collapse

Constructor Details

#initialize(config) ⇒ Gateway

Returns a new instance of Gateway.



10
11
12
13
14
15
16
# File 'lib/rom/http/gateway.rb', line 10

def initialize(config)
  missing_keys = [:uri, :request_handler, :response_handler] - config.keys
  fail GatewayConfigurationError, missing_keys unless missing_keys.empty?

  @datasets = ThreadSafe::Cache.new
  @config = config
end

Instance Method Details

#[](name) ⇒ Object



18
19
20
# File 'lib/rom/http/gateway.rb', line 18

def [](name)
  datasets.fetch(name)
end

#dataset(name) ⇒ Object



22
23
24
# File 'lib/rom/http/gateway.rb', line 22

def dataset(name)
  datasets[name] = Dataset.new(config.merge(name: name))
end

#dataset?(name) ⇒ Boolean

Returns:

  • (Boolean)


26
27
28
# File 'lib/rom/http/gateway.rb', line 26

def dataset?(name)
  datasets.key?(name)
end