lib/grumlin/config.rb in grumlin-0.22.5 vs lib/grumlin/config.rb in grumlin-0.23.0

- old
+ new

@@ -4,18 +4,33 @@ class Config attr_accessor :url, :pool_size, :client_concurrency, :client_factory, :provider SUPPORTED_PROVIDERS = %i[neptune tinkergraph].freeze + DEFAULT_MIDDLEWARES = Middleware::Builder.new do |b| + b.use Middlewares::SerializeToSteps + b.use Middlewares::ApplyShortcuts + b.use Middlewares::SerializeToBytecode + b.use Middlewares::BuildQuery + b.use Middlewares::CastResults + b.use Middlewares::RunQuery + end.freeze + class ConfigurationError < Grumlin::Error; end class UnknownProviderError < ConfigurationError; end def initialize @pool_size = 10 @client_concurrency = 5 @provider = :tinkergraph @client_factory = ->(url, parent) { Grumlin::Client.new(url, parent: parent) } + end + + def middlewares + @middlewares ||= Middleware::Builder.new do |b| + b.use DEFAULT_MIDDLEWARES + end end def validate! return if SUPPORTED_PROVIDERS.include?(provider.to_sym)