Class: Believer::Counter
- Inherits:
-
Object
- Object
- Believer::Counter
- Defined in:
- lib/believer/counter.rb
Instance Method Summary collapse
- #adopt_value(v) ⇒ Object
- #changed? ⇒ Boolean
- #decr(val = 1) ⇒ Object
- #decremented? ⇒ Boolean
- #diff ⇒ Object
- #incr(val = 1) ⇒ Object
- #incremented? ⇒ Boolean
- #initial_value ⇒ Object
-
#initialize(v = 0, initial_val = nil) ⇒ Counter
constructor
A new instance of Counter.
- #reset! ⇒ Object
- #to_i ⇒ Object
Constructor Details
#initialize(v = 0, initial_val = nil) ⇒ Counter
Returns a new instance of Counter.
5 6 7 8 |
# File 'lib/believer/counter.rb', line 5 def initialize(v = 0, initial_val = nil) @value = v @initial_value = initial_val.nil? ? @value : initial_val end |
Instance Method Details
#adopt_value(v) ⇒ Object
15 16 17 18 19 |
# File 'lib/believer/counter.rb', line 15 def adopt_value(v) @value = 0 if v.nil? @value = v.to_i self end |
#changed? ⇒ Boolean
43 44 45 |
# File 'lib/believer/counter.rb', line 43 def changed? diff > 0 end |
#decr(val = 1) ⇒ Object
30 31 32 33 |
# File 'lib/believer/counter.rb', line 30 def decr(val = 1) @value = @value - val self end |
#decremented? ⇒ Boolean
35 36 37 |
# File 'lib/believer/counter.rb', line 35 def decremented? initial_value > @value end |
#diff ⇒ Object
39 40 41 |
# File 'lib/believer/counter.rb', line 39 def diff (@value - initial_value).abs end |
#incr(val = 1) ⇒ Object
21 22 23 24 |
# File 'lib/believer/counter.rb', line 21 def incr(val = 1) @value = @value + val self end |
#incremented? ⇒ Boolean
26 27 28 |
# File 'lib/believer/counter.rb', line 26 def incremented? @value > initial_value end |
#initial_value ⇒ Object
51 52 53 54 55 56 |
# File 'lib/believer/counter.rb', line 51 def initial_value if @initial_value.nil? @initial_value = self.to_i end @initial_value end |
#reset! ⇒ Object
10 11 12 13 |
# File 'lib/believer/counter.rb', line 10 def reset! @value = initial_value self end |
#to_i ⇒ Object
47 48 49 |
# File 'lib/believer/counter.rb', line 47 def to_i @value end |