Class: WebFetch::Promise
- Inherits:
-
Object
- Object
- WebFetch::Promise
- Defined in:
- lib/web_fetch/promise.rb
Instance Attribute Summary collapse
-
#request ⇒ Object
readonly
Returns the value of attribute request.
-
#result ⇒ Object
readonly
Returns the value of attribute result.
-
#uid ⇒ Object
readonly
Returns the value of attribute uid.
Instance Method Summary collapse
- #complete? ⇒ Boolean
- #custom ⇒ Object
- #error ⇒ Object
- #fetch(options = {}) ⇒ Object
-
#initialize(client, options = {}) ⇒ Promise
constructor
A new instance of Promise.
- #pending? ⇒ Boolean
- #success? ⇒ Boolean
Constructor Details
Instance Attribute Details
#request ⇒ Object (readonly)
Returns the value of attribute request.
5 6 7 |
# File 'lib/web_fetch/promise.rb', line 5 def request @request end |
#result ⇒ Object (readonly)
Returns the value of attribute result.
5 6 7 |
# File 'lib/web_fetch/promise.rb', line 5 def result @result end |
#uid ⇒ Object (readonly)
Returns the value of attribute uid.
5 6 7 |
# File 'lib/web_fetch/promise.rb', line 5 def uid @uid end |
Instance Method Details
#complete? ⇒ Boolean
25 26 27 28 29 30 31 |
# File 'lib/web_fetch/promise.rb', line 25 def complete? return false if @result.nil? return false if pending? return true if @result false end |
#custom ⇒ Object
21 22 23 |
# File 'lib/web_fetch/promise.rb', line 21 def custom request&.custom end |
#error ⇒ Object
43 44 45 46 47 |
# File 'lib/web_fetch/promise.rb', line 43 def error return nil unless complete? @raw_result[:response][:error] end |
#fetch(options = {}) ⇒ Object
13 14 15 16 17 18 19 |
# File 'lib/web_fetch/promise.rb', line 13 def fetch( = {}) return @result if complete? block = .fetch(:wait, true) @raw_result = find_or_retrieve(block) (@result = build_result) end |
#pending? ⇒ Boolean
33 34 35 36 37 |
# File 'lib/web_fetch/promise.rb', line 33 def pending? return false if @result.nil? @result == :pending end |
#success? ⇒ Boolean
39 40 41 |
# File 'lib/web_fetch/promise.rb', line 39 def success? complete? && @raw_result[:response][:success] end |