Class: Cryptomarket::Websocket::ReusableCallback

Inherits:
Object
  • Object
show all
Defined in:
lib/cryptomarket/websocket/reusable_callback.rb

Overview

A wrapper for a callback, enable reuse of a callback up to an n number of times, and signals when is done reusing.

Instance Method Summary collapse

Constructor Details

#initialize(callback, call_count) ⇒ ReusableCallback

Returns a new instance of ReusableCallback.



7
8
9
10
# File 'lib/cryptomarket/websocket/reusable_callback.rb', line 7

def initialize(callback, call_count)
  @call_count = call_count
  @callback = callback
end

Instance Method Details

#get_callbackObject

rubocop:disable Naming/AccessorMethodName



12
13
14
15
16
17
18
# File 'lib/cryptomarket/websocket/reusable_callback.rb', line 12

def get_callback # rubocop:disable Naming/AccessorMethodName
  return [nil, false] if @call_count < 1

  @call_count -= 1
  done_using = @call_count < 1
  [@callback, done_using]
end