Sha256: 6a996f73f7a9327ff90b9c434c5ffa48eff6c438983cd7462a2006d58bf8a0f8

Contents?: true

Size: 618 Bytes

Versions: 1

Compression:

Stored size: 618 Bytes

Contents

module VRBO
  class Availability

    attr_reader :start_at, :dates

    # @param [Array] dates list of date strings
    def initialize(dates = nil)
      @dates = Array(dates)
      if @dates.any?
        @start_at = Date.parse(@dates.shift)
      else
        @start_at = Date.today
      end
    end

    # @note assumes @dates are in ascending order
    def duration
      i = -1
      count = 1
      dates.each do |the_date|
        diff = Date.parse(the_date) - (start_at + (i += 1))
        if diff.to_i == 1
          count += 1
        else
          break
        end
      end
      count
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
vrbo-1.1.0 lib/vrbo/availability.rb