Sha256: 746bea1efc39a6f2c6e1b88d8032b11ae03ac9a30e135aeeb8ca2beca4550354

Contents?: true

Size: 399 Bytes

Versions: 7

Compression:

Stored size: 399 Bytes

Contents

class Forgery
  module Extensions
    class Range < ::Range

      def unextend
        ::Range.new(first, last, exclude_end?)
      end

      def random
        Integer(first) && Integer(last)
        raise ArgumentError if first > last
        Kernel.rand(last - first + (exclude_end? ? 0 : 1)) + first
      rescue ArgumentError
        Forgery::Extend(to_a).random
      end

    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
forgery-0.6.0 lib/forgery/extensions/range.rb
forgery-0.5.0 lib/forgery/extensions/range.rb
forgery-0.4.4 lib/forgery/extensions/range.rb
forgery-0.4.3 lib/forgery/extensions/range.rb
forgery-0.4.2 lib/forgery/extensions/range.rb
forgery-0.4.1 lib/forgery/extensions/range.rb
forgery-0.4.0 lib/forgery/extensions/range.rb