Module: GiveyRuby::Controller::InstanceMethods

Defined in:
lib/givey_ruby/controller.rb

Instance Method Summary collapse

Instance Method Details

#access_tokenObject



34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
# File 'lib/givey_ruby/controller.rb', line 34

def access_token
  @access_token  ||= begin
    if session[:access_token]
      api_token               = OAuth2::AccessToken.new(api_client, session[:access_token])
    elsif ENV['GIVEY_TOKEN']
      api_token = OAuth2::AccessToken.new(api_client, ENV['GIVEY_TOKEN'])
    elsif givey_token = token_from_file
      api_token = OAuth2::AccessToken.new(api_client, givey_token)
    else
      api_token               = api_client.client_credentials.get_token
      session[:access_token]  = api_token.token
      token_to_file(api_token.token)
    end
    api_token
  end
end

#login_token_user(token_string) ⇒ Object



21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/givey_ruby/controller.rb', line 21

def (token_string)
  begin
    @access_token           = OAuth2::AccessToken.new(api_client, token_string)
    session[:access_token]  = token_string
    me                      = JSON.parse(@access_token.get("/#{api_version}/me").body)
    session[:user_id]       = me['id']
    session[:business_id]   = me['business_id']
    return true
  rescue Exception => e
    return false
  end
end

#set_password_token(email, password) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
18
19
# File 'lib/givey_ruby/controller.rb', line 7

def set_password_token(email, password)
  begin
    @access_token           = api_client.password.get_token(email, password)
    return false if @access_token.params["error"] == "invalid_grant"
    session[:access_token]  = @access_token.token
    me                      = JSON.parse(@access_token.get("/#{api_version}/me").body)
    session[:user_id]       = me['id']
    session[:business_id]   = me['business_id']
    return true
  rescue Exception => e
    return false
  end
end

#token_sign_outObject

CLIENT CREDENTIALS ACCESS



53
54
55
56
57
58
# File 'lib/givey_ruby/controller.rb', line 53

def token_sign_out
  access_token.get("/#{api_version}/oauth/revoke")
  session[:access_token]  = nil
  session[:user_id]       = nil
  session[:business_id]   = nil
end