Class: DuoRuby::Socket::TestPromise
- Inherits:
-
Object
- Object
- DuoRuby::Socket::TestPromise
- Defined in:
- lib/duoruby/socket/test_promise.rb
Instance Attribute Summary collapse
-
#error ⇒ Object
readonly
Returns the value of attribute error.
-
#value ⇒ Object
readonly
Returns the value of attribute value.
Instance Method Summary collapse
- #fail(&handler) ⇒ Object (also: #rescue)
-
#initialize ⇒ TestPromise
constructor
A new instance of TestPromise.
- #reject(error = nil) ⇒ Object
- #resolve(value = nil) ⇒ Object
- #then(&handler) ⇒ Object
Constructor Details
#initialize ⇒ TestPromise
Returns a new instance of TestPromise.
8 9 10 11 12 13 |
# File 'lib/duoruby/socket/test_promise.rb', line 8 def initialize @resolved = false @rejected = false @then_handlers = [] @fail_handlers = [] end |
Instance Attribute Details
#error ⇒ Object (readonly)
Returns the value of attribute error.
6 7 8 |
# File 'lib/duoruby/socket/test_promise.rb', line 6 def error @error end |
#value ⇒ Object (readonly)
Returns the value of attribute value.
6 7 8 |
# File 'lib/duoruby/socket/test_promise.rb', line 6 def value @value end |
Instance Method Details
#fail(&handler) ⇒ Object Also known as: rescue
34 35 36 37 |
# File 'lib/duoruby/socket/test_promise.rb', line 34 def fail(&handler) @rejected ? handler.call(error) : @fail_handlers << handler self end |
#reject(error = nil) ⇒ Object
22 23 24 25 26 27 |
# File 'lib/duoruby/socket/test_promise.rb', line 22 def reject(error = nil) @rejected = true @error = error @fail_handlers.each { |handler| handler.call(error) } self end |
#resolve(value = nil) ⇒ Object
15 16 17 18 19 20 |
# File 'lib/duoruby/socket/test_promise.rb', line 15 def resolve(value = nil) @resolved = true @value = value @then_handlers.each { |handler| handler.call(value) } self end |
#then(&handler) ⇒ Object
29 30 31 32 |
# File 'lib/duoruby/socket/test_promise.rb', line 29 def then(&handler) @resolved ? handler.call(value) : @then_handlers << handler self end |