Sha256: 3ddf56550d0a5a0a02ea67b158f7968710cf913aed08c500fa7e485b0387d588

Contents?: true

Size: 715 Bytes

Versions: 6

Compression:

Stored size: 715 Bytes

Contents

# frozen_string_literal: true

require_relative "../calendar"
require_relative "../calendar/support/has_fiscal_weeks"

module TimeBoss
  module Calendars
    class Broadcast < Calendar
      include Support::HasFiscalWeeks
      register!

      def initialize
        super(basis: Basis)
      end

      private

      class Basis < Calendar::Support::MonthBasis
        def start_date
          @_start_date ||= begin
            date = Date.civil(year, month, 1)
            date - (date.wday + 6) % 7
          end
        end

        def end_date
          @_end_date ||= begin
            date = Date.civil(year, month, -1)
            date - date.wday
          end
        end
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
timeboss-1.1.5 lib/timeboss/calendars/broadcast.rb
timeboss-1.1.4 lib/timeboss/calendars/broadcast.rb
timeboss-1.1.3 lib/timeboss/calendars/broadcast.rb
timeboss-1.1.2 lib/timeboss/calendars/broadcast.rb
timeboss-1.1.1 lib/timeboss/calendars/broadcast.rb
timeboss-1.1.0 lib/timeboss/calendars/broadcast.rb