Class: Bark::Request::Taxonomy

Inherits:
Bark::Request show all
Defined in:
lib/bark/request/taxonomy.rb

Constant Summary collapse

API_VERSION =
'v2'
SEARCH_BASE =
[Bark::Request::BASE_URL, API_VERSION, 'taxonomy'].join("/")
METHODS =

Method: parameters

{ 
  taxonomy_about: %i{},
  taxonomy_lica: %i{},
  taxonomy_subtree: %i{}, 
  taxonomy_taxon: %i{}, 
}
REQUIRED_PARAMS =
{
}
METHODS_REQUIRED_PARAMS =
mrp

Constants inherited from Bark::Request

BASE_URL

Instance Attribute Summary

Attributes inherited from Bark::Request

#method, #params, #payload, #uri

Instance Method Summary collapse

Methods inherited from Bark::Request

#params_are_supported?, #response

Constructor Details

#initialize(method: :tol_about, params: {}) ⇒ Taxonomy

Returns a new instance of Taxonomy.



28
29
30
31
# File 'lib/bark/request/taxonomy.rb', line 28

def initialize(method: :tol_about, params: {})
  assign_options(method: method, params: params)
  build_uri if valid?
end

Instance Method Details

#assign_options(method: method, params: params) ⇒ Object



33
34
35
36
37
# File 'lib/bark/request/taxonomy.rb', line 33

def assign_options(method: method, params: params)
  @method = method
  @params = params
  @params ||= {}
end

#has_required_params?Boolean

Returns:

  • (Boolean)


44
45
46
47
48
49
# File 'lib/bark/request/taxonomy.rb', line 44

def has_required_params?
  case @method
  when :taxonomy_about
  end 
  return true
end

#json_payloadObject



51
52
53
# File 'lib/bark/request/taxonomy.rb', line 51

def json_payload
  JSON.generate(@params)
end

#valid?Boolean

Returns:

  • (Boolean)


39
40
41
42
# File 'lib/bark/request/taxonomy.rb', line 39

def valid?
  raise "Method #{@method} not recognized." if @method && !self.class::METHODS.keys.include?(@method)
  !@method.nil? && params_are_supported? && has_required_params?
end