Class: Bark::Request
- Inherits:
-
Object
- Object
- Bark::Request
- Defined in:
- lib/bark/request.rb
Direct Known Subclasses
Defined Under Namespace
Classes: GraphOfLife, Studies, Taxonomy, Tnrs, TreeOfLife
Constant Summary collapse
- BASE_URL =
'http://devapi.opentreeoflife.org'
Instance Attribute Summary collapse
-
#method ⇒ Object
Returns the value of attribute method.
-
#params ⇒ Object
Returns the value of attribute params.
-
#payload ⇒ Object
Returns the value of attribute payload.
-
#uri ⇒ Object
readonly
stub for uri.
Instance Method Summary collapse
- #assign_options(opts) ⇒ Object
- #has_required_params? ⇒ Boolean
-
#initialize(options = {}) ⇒ Request
constructor
TODO: super this.
- #json_payload ⇒ Object
- #params_are_supported? ⇒ Boolean
- #response ⇒ Object
-
#valid? ⇒ Boolean
Stub for subclasses.
Constructor Details
#initialize(options = {}) ⇒ Request
TODO: super this
12 13 14 15 16 17 18 19 20 21 |
# File 'lib/bark/request.rb', line 12 def initialize( = {}) opts = { format: 'foo', # Bark::Request::FORMAT, method: :getSyntheticTree, params: { } }.merge!() (opts) build_uri if valid? end |
Instance Attribute Details
#method ⇒ Object
Returns the value of attribute method.
7 8 9 |
# File 'lib/bark/request.rb', line 7 def method @method end |
#params ⇒ Object
Returns the value of attribute params.
7 8 9 |
# File 'lib/bark/request.rb', line 7 def params @params end |
#payload ⇒ Object
Returns the value of attribute payload.
8 9 10 |
# File 'lib/bark/request.rb', line 8 def payload @payload end |
#uri ⇒ Object (readonly)
stub for uri
61 62 63 |
# File 'lib/bark/request.rb', line 61 def uri @uri end |
Instance Method Details
#assign_options(opts) ⇒ Object
23 24 25 26 27 28 |
# File 'lib/bark/request.rb', line 23 def (opts) @method = opts[:method] @format = opts[:format] @params = opts[:params] end |
#has_required_params? ⇒ Boolean
50 51 52 53 54 |
# File 'lib/bark/request.rb', line 50 def has_required_params? return false if @method.nil? return true if self.class::METHODS_REQUIRED_PARAMS[@method].nil? self.class::METHODS_REQUIRED_PARAMS[@method].select{|v| !@params.keys.include?(v)} == [] end |
#json_payload ⇒ Object
66 67 |
# File 'lib/bark/request.rb', line 66 def json_payload end |
#params_are_supported? ⇒ Boolean
44 45 46 47 48 |
# File 'lib/bark/request.rb', line 44 def params_are_supported? return false if @method.nil? return true if self.class::METHODS[@method] == [] @params.keys.map(&:to_sym) - self.class::METHODS[@method] == [] end |
#response ⇒ Object
35 36 37 38 39 40 41 42 |
# File 'lib/bark/request.rb', line 35 def response build_uri if valid? Response.new(request: self) else false # raise? end end |
#valid? ⇒ Boolean
Stub for subclasses
57 58 |
# File 'lib/bark/request.rb', line 57 def valid? end |