class Epersonate

Public Class Methods

new(token) click to toggle source
# File lib/epersonate.rb, line 9
def initialize(token)
    @personal_access_token = token
end

Public Instance Methods

verify(args) click to toggle source
# File lib/epersonate.rb, line 13
def verify(args)
    token = args[:token] || (args[:request] && args[:request].cookies[EPERSONATE_HEADER])
    unless token
        return {
            valid: false
        }
    end
    uri = URI.parse(BASE_URL + "/api/v1/impersonations")
    header = {
        'Content-Type': 'application/json',
        'Authorization': "Bearer " + @personal_access_token
    }
    body = {
        token: token
    }

    http = Net::HTTP.new(uri.host, uri.port)
    req = Net::HTTP::Post.new(uri.request_uri, header)
    req.body = body.to_json
    response = http.request(req)
    if response.code == "200"
        return ActiveSupport::JSON.decode(response.body)
    end

    return {
        valid: false
    }
end