Method: When::CalendarNote::Week#_range_for_week_included

Defined in:
lib/when_exe/inspect.rb

#_range_for_week_included(date, first, length, block_given = false) ⇒ Array<Range>

week_included のための range の決定

Returns:



247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
# File 'lib/when_exe/inspect.rb', line 247

def _range_for_week_included(date, first, length, block_given=false)
  begun = ended = nil
  if first <= 0
    it = enum_for(date.floor, :reverse)
    (1-first).times do
      begun = it.next
    end
  else
    it = enum_for(date.floor, :forward)
    first.times do
      begun = it.next
    end
  end
  it = enum_for(begun, :forward)
  (length+1).times do
    ended = it.next
  end
  [begun...ended]
end