Sha256: 794c54b703cb7731f20d19bee982920c662d9fafa54b1b63e9ac01e838c0d659
Contents?: true
Size: 912 Bytes
Versions: 1
Compression:
Stored size: 912 Bytes
Contents
# frozen_string_literal: true require 'blackcal/array_util' module Blackcal # Day range class DayRange include Enumerable # @return [Array<Integer>] numbers in range attr_reader :numbers # Initialize numbers range # @param [Array<#to_a>, Array<Integer>, Integer, nil] numbers # @example # DayRange.new(1) # @example # DayRange.new([1, 2]) # @example # DayRange.new([9..10, 13..14]) def initialize(numbers) @numbers = ArrayUtil.flatten(numbers) if numbers end # Returns true if it covers timestamp # @return [Boolean] def cover?(timestamp) return false if numbers.nil? || numbers.empty? numbers.include?(timestamp.day) end # @return [Array<Integer>] numbers in range alias_method :to_a, :numbers # Iterate over range # @see #to_a def each(&block) to_a.each(&block) end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
blackcal-0.5.0 | lib/blackcal/range/day_range.rb |