Sha256: 1f5ab4fe97d5725c28dd0cdd07167acf14fbcf62770c802d050de150df28db81

Contents?: true

Size: 778 Bytes

Versions: 3

Compression:

Stored size: 778 Bytes

Contents

module AQL
  class Node
    class Operation
      # Limit operation
      class Limit < self
        KEYWORD = :LIMIT

        include Concord.new(:count, :offset)

      private

        # Emit node
        #
        # @param [Buffer] buffer
        #
        # @return [undefined]
        #
        # @api private
        #
        def emit(buffer)
          buffer.append("#{keyword} ")
          emit_offset(buffer)
          count.visit(buffer)
        end

        # Emit offset
        #
        # @param [Buffer] buffer
        #
        # @return [undefined]
        #
        # @api private
        #
        def emit_offset(buffer)
          local = offset || return
          local.visit(buffer)
          buffer.append(', ')
        end
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
aql-0.0.3 lib/aql/node/operation/limit.rb
aql-0.0.2 lib/aql/node/operation/limit.rb
aql-0.0.1 lib/aql/node/operation/limit.rb