Sha256: cbd2d7a0b660abaadad44eb2543398c4730a40c963d1c236c8ebadb7d50cbb3f

Contents?: true

Size: 823 Bytes

Versions: 26

Compression:

Stored size: 823 Bytes

Contents

module RDF
  ##
  # @since 0.2.0
  module Countable
    extend RDF::Util::Aliasing::LateBound

    ##
    # Returns `true` if `self` contains no RDF statements.
    #
    # @return [Boolean]
    def empty?
      empty = true
      each { empty = false; break }
      empty
    end

    ##
    # Returns the number of RDF statements in `self`.
    #
    # @return [Integer]
    def count
      count = 0
      each { count += 1 }
      count
    end
    alias_method :size, :count

    ##
    # @private
    # @param  [Symbol, #to_sym] method
    # @return [Enumerator]
    # @see    Object#enum_for
    def enum_for(method = :each, *args)
      # Ensure that enumerators support the `#empty?` and `#count` methods:
      super.extend(RDF::Countable)
    end
    alias_method :to_enum, :enum_for
  end # Countable
end # RDF

Version data entries

26 entries across 26 versions & 2 rubygems

Version Path
rdf-1.1.0.p1 lib/rdf/mixin/countable.rb
rdf-1.0.5 lib/rdf/mixin/countable.rb
rdf-1.1.0.p0 lib/rdf/mixin/countable.rb
rdf-1.0.4 lib/rdf/mixin/countable.rb
rdf-1.0.3 lib/rdf/mixin/countable.rb
rdf-1.0.2 lib/rdf/mixin/countable.rb
rdf-1.0.1 lib/rdf/mixin/countable.rb
rdf-1.0.0 lib/rdf/mixin/countable.rb
rdf-0.3.11.1 lib/rdf/mixin/countable.rb
rdf-0.3.11 lib/rdf/mixin/countable.rb
rdf-0.3.10 lib/rdf/mixin/countable.rb
rdf-0.3.9 lib/rdf/mixin/countable.rb
rdf-0.3.8 lib/rdf/mixin/countable.rb
rdf-0.3.7 lib/rdf/mixin/countable.rb
rdf-0.3.5.2 lib/rdf/mixin/countable.rb
openlogic-rdf-0.3.7 lib/rdf/mixin/countable.rb
openlogic-rdf-0.3.6 lib/rdf/mixin/countable.rb
rdf-0.3.5.1 lib/rdf/mixin/countable.rb
rdf-0.3.5 lib/rdf/mixin/countable.rb
rdf-0.3.4.1 lib/rdf/mixin/countable.rb