Sha256: 655a002e19bc4953052e1874072166722164057836076b80916be454dd5e488e

Contents?: true

Size: 662 Bytes

Versions: 126

Compression:

Stored size: 662 Bytes

Contents

# frozen_string_literal: true

class ReeDatetime::EndOfQuarter
  include Ree::FnDSL

  fn :end_of_quarter do
    link :now
    link :end_of_day
    link :end_of_quarter, from: :ree_date
  end

  doc(<<~DOC)
    Returns a new date/time at the end of the quarter.
    If no date_time passed returns date/time at the end of the current quarter.
    
      date_time(optional) => Thu, 3 May 2022 13:00:00
      end_of_quarter(date_time) # => Thu, 30 Jun 2022 23:59:59
  DOC
  contract(Nilor[DateTime] => DateTime)
  def call(date_time = nil)
    end_of_day(
      end_of_quarter(
        (date_time.nil? ? now : date_time).to_date
      ).to_datetime
    )
  end
end

Version data entries

126 entries across 126 versions & 1 rubygems

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