Sha256: 05a0793d5ff0ca57ad5071ae8ed23303a19710a19a78e53a7f2da8a9675fd7bc
Contents?: true
Size: 686 Bytes
Versions: 2
Compression:
Stored size: 686 Bytes
Contents
require 'thread_safe' require 'rom/http/dataset' module ROM module HTTP class Gateway < ROM::Gateway attr_reader :datasets, :config private :datasets, :config 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 def [](name) datasets.fetch(name) end def dataset(name) datasets[name] = Dataset.new(config.merge(name: name)) end def dataset?(name) datasets.key?(name) end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
rom-http-0.1.0 | lib/rom/http/gateway.rb |
rom-http-0.0.1 | lib/rom/http/gateway.rb |