Class: CassandraModel::BatchReactor::Future
- Inherits:
-
Cassandra::Future
- Object
- Cassandra::Future
- CassandraModel::BatchReactor::Future
- Extended by:
- Forwardable
- Defined in:
- lib/cassandra_model/batch_reactor/future.rb
Class Method Summary collapse
Instance Method Summary collapse
- #add_listener(listener) ⇒ Object
- #fallback(&_) ⇒ Object
-
#initialize(ione_future) ⇒ Future
constructor
A new instance of Future.
- #join ⇒ Object
- #promise ⇒ Object
- #then(&block) ⇒ Object
Constructor Details
#initialize(ione_future) ⇒ Future
Returns a new instance of Future.
18 19 20 |
# File 'lib/cassandra_model/batch_reactor/future.rb', line 18 def initialize(ione_future) @future = ione_future end |
Class Method Details
.define_handler(internal_name, external_name = internal_name) ⇒ Object
6 7 8 9 10 11 |
# File 'lib/cassandra_model/batch_reactor/future.rb', line 6 def self.define_handler(internal_name, external_name = internal_name) define_method(external_name) do |&block| @future.public_send(internal_name, &block) self end end |
Instance Method Details
#add_listener(listener) ⇒ Object
22 23 24 25 26 27 |
# File 'lib/cassandra_model/batch_reactor/future.rb', line 22 def add_listener(listener) @future.on_complete do |value, error| error ? listener.failure(error) : listener.success(value) end self end |
#fallback(&_) ⇒ Object
33 34 35 |
# File 'lib/cassandra_model/batch_reactor/future.rb', line 33 def fallback(&_) raise NotImplementedError end |
#join ⇒ Object
42 43 44 45 |
# File 'lib/cassandra_model/batch_reactor/future.rb', line 42 def join @future.get self end |
#promise ⇒ Object
29 30 31 |
# File 'lib/cassandra_model/batch_reactor/future.rb', line 29 def promise raise NotImplementedError end |
#then(&block) ⇒ Object
37 38 39 40 |
# File 'lib/cassandra_model/batch_reactor/future.rb', line 37 def then(&block) internal_future = @future.then(&block) Future.new(internal_future) end |