Class: Bark

Inherits:
Object
  • Object
show all
Defined in:
lib/bark.rb,
lib/bark/request.rb,
lib/bark/version.rb,
lib/bark/response.rb

Defined Under Namespace

Classes: Error, Request, Response

Constant Summary collapse

VERSION =
"0.0.2"

Class Method Summary collapse

Class Method Details

.method_missing(meth, *args, &block) ⇒ Object

TODO: this needs more stress testing



33
34
35
36
37
38
39
40
41
42
43
44
45
46
# File 'lib/bark.rb', line 33

def self.method_missing(meth, *args, &block)
  if klass = self.request_class(meth)
    if args[0].nil?
      params = {}
    else
      params = args[0][:params]
    end
    params = {} if params.nil?
    request = klass.new(method: meth, params: params, &block)
    Bark::Response.new(request: request).result
  else
    super
  end
end

.request_class(method) ⇒ Object



22
23
24
25
26
27
28
29
30
# File 'lib/bark.rb', line 22

def self.request_class(method)
  method = method.to_s
  return Bark::Request::TreeOfLife  if method =~ /^tol_/ 
  return Bark::Request::Tnrs        if method =~ /^tnrs_/ 
  return Bark::Request::GraphOfLife if method =~ /^gol_/ 
  return Bark::Request::Taxonomy    if method =~ /^taxonomy_/ 
  return Bark::Request::Studies     if method =~ /^studies_|^get_study/ 
  return false
end