Sha256: c3acf585de427bb305238d060aa9a507f866bc48924b03e629239d6622c6a538

Contents?: true

Size: 719 Bytes

Versions: 5

Compression:

Stored size: 719 Bytes

Contents

module Alf
  module Algebra
    class Frame
      include Operator
      include Relational
      include Unary
      include WithOrdering

      signature do |s|
        s.argument :ordering, Ordering, []
        s.argument :offset,   Integer, 0
        s.argument :limit,    Integer, 25
      end

      def heading
        operand.heading
      end

      def keys
        operand.keys
      end

    private

      def _type_check(options)
        valid_ordering!(ordering, operand.attr_list)
        type_check_error!("invalid offset `#{offset}`") unless offset >= 0
        type_check_error!("invalid limit `#{limit}`")   unless limit >= 0
      end

    end # class Frame
  end # module Algebra
end # module Alf

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
alf-core-0.16.3 lib/alf/algebra/operator/frame.rb
alf-core-0.16.2 lib/alf/algebra/operator/frame.rb
alf-core-0.16.1 lib/alf/algebra/operator/frame.rb
alf-core-0.16.0 lib/alf/algebra/operator/frame.rb
alf-core-0.15.0 lib/alf/algebra/operator/frame.rb