Sha256: 93037e29809b7589b722ba025c283bdcead32411bcd6008de63bd830e92183ba

Contents?: true

Size: 801 Bytes

Versions: 125

Compression:

Stored size: 801 Bytes

Contents

# frozen_string_literal: true

class ReeDatetime::EndOfWeek
  include Ree::FnDSL

  fn :end_of_week do
    link :now
    link :change
    link :end_of_day    
    link :end_of_week, from: :ree_date
  end

  doc(<<~DOC)
    Returns a new date/time at the end of the week.
    If no date_time passed returns date/time at the end of the current week.
    
      date_time(optional) => Wed, 25 May 2022 13:00:00
      end_of_week(date_time, :monday) # => Sun, 29 May 2022 23:59:59.999999
      end_of_week(date_time, :sunday) # => Sat, 28 May 2022 23:59:59.999999
    Week is assumed to end on +week_start+ (monday or sunday).
  DOC
  contract(Nilor[DateTime], Or[:sunday, :monday] => DateTime)
  def call(date_time = nil, week_start)
    end_of_day(end_of_week((date_time || now), week_start)) 
  end
end

Version data entries

125 entries across 125 versions & 1 rubygems

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