Method: Range#nudge

Defined in:
lib/core/facets/range/nudge.rb

#nudge(value = 1, min: nil, max: nil) ⇒ Object

Nudge range values

(1..5).nudge           #=> 2..6
(1..5).nudge(2)        #=> 3..7
(1..5).nudge(-2)       #=> -1..3
(1..5).nudge(min: 1)   #=> 2..5
(1..5).nudge(max: 1)   #=> 1..6

CREDIT: Codeindulgence



13
14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/core/facets/range/nudge.rb', line 13

def nudge(value = 1, min: nil, max: nil)
  if min or max
    min ||= 0
    max ||= 0
  else
    min = max = value
  end
  
  if exclude_end?
    (self.min + min)...((self.max + 1) + max)
  else
    (self.min + min)..(self.max + max)
  end
end