Newer
Older
2018-fumichan-thesis / sinatra-practice / form-sample / vendor / bundle / ruby / 2.5.0 / gems / backports-3.11.4 / lib / backports / 2.0.0 / range / size.rb
unless Range.method_defined? :size
  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