Class: MemoriClient::Engine::Resource

Inherits:
Resource
  • Object
show all
Defined in:
lib/memori_client/engine/resource.rb

Class Method Summary collapse

Methods inherited from Resource

build_arguments, exec_http_request, validate_payload!

Class Method Details

.build_url(url) ⇒ Object

def self.exec_http_request(method, path, args)

stop = false
processed_tokens = []
path.split('/').each do |token|
  break if stop == true
  if token =~ /^{.*}$/
    param_name = token.match(/^{(.*)}$/).captures.first
    if args[param_name.to_sym].blank?
      stop = true
    else
      processed_tokens << args[param_name.to_sym]
    end
  else
    processed_tokens << token
  end
end

url = processed_tokens.join('/')
url = [MemoriClient.configuration.engine_api_root, url].join('')
http = MemoriClient::HttpClient.new

case method
when 'get'
  status, body = http.get(url)
else
  status, body = http.send(method, url, payload: args[:payload])
end

[status, body]

end



33
34
35
36
37
38
# File 'lib/memori_client/engine/resource.rb', line 33

def self.build_url(url)
  [
    MemoriClient.configuration.engine_api_root,
    url
  ].join('')
end