class Cafmal::Resource

Attributes

cafmal_api_url[R]
decoded_token[R]
query[RW]
token[R]

Public Class Methods

new(cafmal_api_url, token) click to toggle source
# File lib/cafmal/resource.rb, line 18
def initialize(cafmal_api_url, token)
  @cafmal_api_url = cafmal_api_url
  @token = token
  @decoded_token = {}
  @decoded_token['header'] = JSON.parse(Base64.decode64(@token.split('.')[0]))
  @decoded_token['payload'] = JSON.parse(Base64.decode64(@token.split('.')[1]))
  @query = ""
  @headers = {"Content-Type" => "application/json", "Authorization" => "Bearer #{@token}"}
  @resourcename = (demodulize(self.class.name) + "s").downcase
end

Public Instance Methods

create(params) click to toggle source
# File lib/cafmal/resource.rb, line 29
def create(params)
  request_create_resource = Cafmal::Request::Post.new(@cafmal_api_url + "/#{@resourcename}", params.to_json, @headers)

  return request_create_resource.response
end
demodulize(path) click to toggle source

helpers below

# File lib/cafmal/resource.rb, line 67
def demodulize(path)
  path = path.to_s
  if i = path.rindex('::')
    path[(i+2)..-1]
  else
    path
  end
end
destroy(params) click to toggle source
# File lib/cafmal/resource.rb, line 59
def destroy(params)
  request_destroy_resource = Cafmal::Request::Delete.new(@cafmal_api_url + "/#{@resourcename}/#{params['id']}", params.to_json, @headers)

  return request_destroy_resource.response
end
list(*options) click to toggle source
# File lib/cafmal/resource.rb, line 41
def list(*options)
  request_list_resource = Cafmal::Request::Get.new(@cafmal_api_url + "/#{@resourcename}" + @query, @headers)

  return request_list_resource.response
end
new() click to toggle source
# File lib/cafmal/resource.rb, line 35
def new
  request_new_resource = Cafmal::Request::Get.new(@cafmal_api_url + "/#{@resourcename}/new", @headers)

  return request_new_resource.response
end
show(id) click to toggle source
# File lib/cafmal/resource.rb, line 47
def show(id)
  request_show_resource = Cafmal::Request::Get.new(@cafmal_api_url + "/#{@resourcename}/" + id.to_s, @headers)

  return request_show_resource.response
end
update(params) click to toggle source
# File lib/cafmal/resource.rb, line 53
def update(params)
  request_update_resource = Cafmal::Request::Put.new(@cafmal_api_url + "/#{@resourcename}/#{params['id']}", params.to_json, @headers)

  return request_update_resource.response
end