Class: WaveInt

Inherits:
Object
  • Object
show all
Defined in:
lib/wave_int.rb,
lib/wave_int/version.rb

Constant Summary collapse

VERSION =
"1.0.0"

Instance Method Summary collapse

Constructor Details

#initialize(limit1, limit2 = 0) ⇒ WaveInt

Set WaveInt Range.



5
6
7
8
# File 'lib/wave_int.rb', line 5

def initialize(limit1, limit2=0)
  @min, @max = [limit1.to_i, limit2.to_i].sort
  @value = @min
end

Instance Method Details

#add(number) ⇒ Object

Get WaveInt next value.



23
24
25
# File 'lib/wave_int.rb', line 23

def add(number)
  set_value(@value + number.to_i)
end

#set_value(number) ⇒ Object

Set WaveInt Value, and return WaveInt value.



17
18
19
20
# File 'lib/wave_int.rb', line 17

def set_value(number)
  @value = offset + (number.to_i - offset) % cycle
  value
end

#value(number = @value) ⇒ Object

Get WaveInt Value.(default: return now value)



11
12
13
14
# File 'lib/wave_int.rb', line 11

def value(number = @value)
  n = (number.to_i - offset) % cycle
  offset + (n < wave_max ? n : cycle - n)
end