Sha256: 1ace645241161acb36d8b4435bc130733b431ad4eb3596d8b93b355af3b61974

Contents?: true

Size: 393 Bytes

Versions: 16

Compression:

Stored size: 393 Bytes

Contents

unless Range.method_defined? :size
  require 'backports/1.9.2/float/infinity'

  class Range
    def size
      return nil unless self.begin.is_a?(Numeric) && self.end.is_a?(Numeric)
      size = self.end - self.begin
      return 0 if size <= 0
      return size if size == Float::INFINITY
      if exclude_end?
        size.ceil
      else
        size.floor + 1
      end
    end
  end
end

Version data entries

16 entries across 16 versions & 1 rubygems

Version Path
backports-3.25.0 lib/backports/2.0.0/range/size.rb
backports-3.24.1 lib/backports/2.0.0/range/size.rb
backports-3.24.0 lib/backports/2.0.0/range/size.rb
backports-3.23.0 lib/backports/2.0.0/range/size.rb
backports-3.22.1 lib/backports/2.0.0/range/size.rb
backports-3.22.0 lib/backports/2.0.0/range/size.rb
backports-3.21.0 lib/backports/2.0.0/range/size.rb
backports-3.20.2 lib/backports/2.0.0/range/size.rb
backports-3.20.1 lib/backports/2.0.0/range/size.rb
backports-3.20.0 lib/backports/2.0.0/range/size.rb
backports-3.19.0 lib/backports/2.0.0/range/size.rb
backports-3.18.2 lib/backports/2.0.0/range/size.rb
backports-3.18.1 lib/backports/2.0.0/range/size.rb
backports-3.18.0 lib/backports/2.0.0/range/size.rb
backports-3.17.2 lib/backports/2.0.0/range/size.rb
backports-3.17.1 lib/backports/2.0.0/range/size.rb