class Jerakia::Server::Auth
Public Class Methods
authenticate(token_string)
click to toggle source
# File lib/jerakia/server/auth.rb, line 58 def authenticate(token_string) api_id, token = token_string.split(/:/) entry = get_entry(api_id) return false if entry.nil? if entry.token == token and entry.active seen!(api_id) true else false end end
create(api_id)
click to toggle source
# File lib/jerakia/server/auth.rb, line 46 def create(api_id) raise Jerakia::Error, "API ID #{api_id} already exists" if exists?(api_id) token = generate_token entry = Jerakia::Server::Auth::Token.new(:api_id => api_id, :token => token) entry.save api_id + ":" + token end
destroy(api_id)
click to toggle source
# File lib/jerakia/server/auth.rb, line 37 def destroy(api_id) entry = get_entry(api_id) entry.destroy end
disable(api_id)
click to toggle source
# File lib/jerakia/server/auth.rb, line 29 def disable(api_id) update(api_id, { :active => false }) end
enable(api_id)
click to toggle source
# File lib/jerakia/server/auth.rb, line 33 def enable(api_id) update(api_id, { :active => true }) end
exists?(api_id)
click to toggle source
# File lib/jerakia/server/auth.rb, line 42 def exists?(api_id) get_entry(api_id) end
generate_token()
click to toggle source
# File lib/jerakia/server/auth.rb, line 10 def generate_token SecureRandom.hex(40) end
get_entry(api_id)
click to toggle source
# File lib/jerakia/server/auth.rb, line 15 def get_entry(api_id) Jerakia::Server::Auth::Token.get(api_id) end
get_tokens()
click to toggle source
# File lib/jerakia/server/auth.rb, line 54 def get_tokens Jerakia::Server::Auth::Token.find end
seen!(api_id)
click to toggle source
# File lib/jerakia/server/auth.rb, line 25 def seen!(api_id) update(api_id, { :last_seen => DateTime.now }) end
update(api_id, fields)
click to toggle source
# File lib/jerakia/server/auth.rb, line 19 def update(api_id, fields) entry = get_entry(api_id) entry.update(fields) entry.save end