Sha256: 8b14c0daaec6bdffd78095ba693ea86901a18c0db34be6d0eedb3ab4b7e3d4eb

Contents?: true

Size: 568 Bytes

Versions: 126

Compression:

Stored size: 568 Bytes

Contents

# frozen_string_literal: true

class ReeDate::BeginningOfQuarter
  include Ree::FnDSL

  fn :beginning_of_quarter do
    link :today
    link :change
    link :beginning_of_month
  end

  doc(<<~DOC)
    Returns a new date at the start of the quarter.
    
      today = Date.today # => Fri, 10 Jul 2015
      today.beginning_of_quarter # => Wed, 01 Jul 2015
  DOC
  contract(Nilor[Date] => Date)
  def call(date = nil)
    date = date || today
    first_quarter_month = date.month - (2 + date.month) % 3

    change(date, day: 1, month: first_quarter_month)
  end
end

Version data entries

126 entries across 126 versions & 1 rubygems

Version Path
ree_lib-1.1.1 lib/ree_lib/packages/ree_date/package/ree_date/functions/beginning_of_quarter.rb
ree_lib-1.1.0 lib/ree_lib/packages/ree_date/package/ree_date/functions/beginning_of_quarter.rb
ree_lib-1.0.124 lib/ree_lib/packages/ree_date/package/ree_date/functions/beginning_of_quarter.rb
ree_lib-1.0.123 lib/ree_lib/packages/ree_date/package/ree_date/functions/beginning_of_quarter.rb
ree_lib-1.0.122 lib/ree_lib/packages/ree_date/package/ree_date/functions/beginning_of_quarter.rb
ree_lib-1.0.121 lib/ree_lib/packages/ree_date/package/ree_date/functions/beginning_of_quarter.rb
ree_lib-1.0.120 lib/ree_lib/packages/ree_date/package/ree_date/functions/beginning_of_quarter.rb
ree_lib-1.0.119 lib/ree_lib/packages/ree_date/package/ree_date/functions/beginning_of_quarter.rb
ree_lib-1.0.118 lib/ree_lib/packages/ree_date/package/ree_date/functions/beginning_of_quarter.rb
ree_lib-1.0.117 lib/ree_lib/packages/ree_date/package/ree_date/functions/beginning_of_quarter.rb
ree_lib-1.0.116 lib/ree_lib/packages/ree_date/package/ree_date/functions/beginning_of_quarter.rb
ree_lib-1.0.115 lib/ree_lib/packages/ree_date/package/ree_date/functions/beginning_of_quarter.rb
ree_lib-1.0.114 lib/ree_lib/packages/ree_date/package/ree_date/functions/beginning_of_quarter.rb
ree_lib-1.0.113 lib/ree_lib/packages/ree_date/package/ree_date/functions/beginning_of_quarter.rb
ree_lib-1.0.112 lib/ree_lib/packages/ree_date/package/ree_date/functions/beginning_of_quarter.rb
ree_lib-1.0.111 lib/ree_lib/packages/ree_date/package/ree_date/functions/beginning_of_quarter.rb
ree_lib-1.0.110 lib/ree_lib/packages/ree_date/package/ree_date/functions/beginning_of_quarter.rb
ree_lib-1.0.109 lib/ree_lib/packages/ree_date/package/ree_date/functions/beginning_of_quarter.rb
ree_lib-1.0.108 lib/ree_lib/packages/ree_date/package/ree_date/functions/beginning_of_quarter.rb
ree_lib-1.0.107 lib/ree_lib/packages/ree_date/package/ree_date/functions/beginning_of_quarter.rb