Sha256: d28ca864e329c289f4b1aea3a4c750bbde8f99a725a1b54ad8868fd2a93cb2d3
Contents?: true
Size: 731 Bytes
Versions: 2
Compression:
Stored size: 731 Bytes
Contents
# frozen_string_literal: true require 'dry-types' require_relative './range' # `Types` as a top-level namespace module seems to be a `dry-types` convention. module Types include Dry::Types.module # should have already been included # The original version of this type treated initialisation with an integer # value of zero as invalid, setting the initialised range to (-1..-1). On # reflection, this makes little sense as a general-purpose behaviour, as it is # highly likely to surprise casual users. IntegerRange = Range.constructor do |value| if value.respond_to?(:minmax) # Enumerable; eg, Range or Array value.min..value.max else # it *better* be an Integer 0..value.to_i end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
prolog-dry_types-0.3.0 | lib/prolog/dry_types/integer_range.rb |
prolog-dry_types-0.2.0 | lib/prolog/dry_types/integer_range.rb |