Sha256: 111828c59a238098d17a4c360ecb79865e89f6505a0709166b85e4c17798805c

Contents?: true

Size: 575 Bytes

Versions: 3

Compression:

Stored size: 575 Bytes

Contents

module CypherBuilder
  class Runner
    class << self
      # @return [Cypher]
      attr_accessor :cypher

      def exec(adapter = Adapter::DEFAULT, ** params)
        self.new(adapter).execute(** params)
      end
    end

    # @param adapter [Adapter]
    def initialize(adapter = Adapter::DEFAULT)
      @adapter = adapter
    end

    def execute(** params)
      payload = Payload.new(params)
      context = Context.new
      cypher = self.class.cypher.as_cypher(payload: payload, context: context)
      @adapter.execute(cypher, payload.necessary)
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
cypher_builder-0.0.5 lib/cypher_builder/infra/runner.rb
cypher_builder-0.0.4 lib/cypher_builder/infra/runner.rb
cypher_builder-0.0.3 lib/cypher_builder/runner.rb