Sha256: 9a1f8260a13264d4993dc2a954ae64eab7ef56552d820fed22ab3c3e9ed0a8fb

Contents?: true

Size: 529 Bytes

Versions: 1

Compression:

Stored size: 529 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)
      cypher = self.class.cypher.as_cypher(payload: payload)
      @adapter.execute(cypher, payload.necessary)
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
cypher_builder-0.0.2 lib/cypher_builder/runner.rb