Sha256: e5ef2a8cd858948e91fe294a900dd3c267fcd50a06c6cd5e5824038c7b6899b4

Contents?: true

Size: 1.2 KB

Versions: 31

Compression:

Stored size: 1.2 KB

Contents

module RDF
  ##
  # Enumerators for different mixins. These are defined in a separate module, so that they are bound when used, allowing other mixins inheriting behavior to be included.
  module Enumerable
    # Extends Enumerator with {Queryable} and {Enumerable}, which is used by {Enumerable#each_statement} and {Queryable#enum_for}
    class Enumerator < ::Enumerator
      include Queryable
      include Enumerable

      ##
      # @return [Array]
      # @note Make sure returned arrays are also queryable
      def to_a
        return super.to_a.extend(RDF::Queryable, RDF::Enumerable)
      end
    end
  end

  module Countable
    # Extends Enumerator with {Countable}, which is used by {Countable#enum_for}
    class Enumerator < ::Enumerator
      include Countable
    end
  end

  module Queryable
    # Extends Enumerator with {Queryable} and {Enumerable}, which is used by {Enumerable#each_statement} and {Queryable#enum_for}
    class Enumerator < ::Enumerator
      include Queryable
      include Enumerable

      ##
      # @return [Array]
      # @note Make sure returned arrays are also queryable
      def to_a
        return super.to_a.extend(RDF::Queryable, RDF::Enumerable)
      end
    end
  end
end

Version data entries

31 entries across 31 versions & 1 rubygems

Version Path
rdf-3.2.3 lib/rdf/mixin/enumerator.rb
rdf-3.2.2 lib/rdf/mixin/enumerator.rb
rdf-3.2.1 lib/rdf/mixin/enumerator.rb
rdf-3.1.15 lib/rdf/mixin/enumerator.rb
rdf-3.1.13 lib/rdf/mixin/enumerator.rb
rdf-3.1.12 lib/rdf/mixin/enumerator.rb
rdf-3.1.11 lib/rdf/mixin/enumerator.rb
rdf-3.1.10 lib/rdf/mixin/enumerator.rb
rdf-3.1.9 lib/rdf/mixin/enumerator.rb
rdf-3.1.8 lib/rdf/mixin/enumerator.rb
rdf-3.1.7 lib/rdf/mixin/enumerator.rb
rdf-3.1.6 lib/rdf/mixin/enumerator.rb
rdf-3.1.5 lib/rdf/mixin/enumerator.rb
rdf-3.1.4 lib/rdf/mixin/enumerator.rb
rdf-3.1.3 lib/rdf/mixin/enumerator.rb
rdf-3.1.2 lib/rdf/mixin/enumerator.rb
rdf-3.1.1 lib/rdf/mixin/enumerator.rb
rdf-3.1.0 lib/rdf/mixin/enumerator.rb
rdf-3.0.13 lib/rdf/mixin/enumerator.rb
rdf-3.0.12 lib/rdf/mixin/enumerator.rb