module Meroku::User
Logic related to Users login, logout etc
Public Class Methods
delete_token()
click to toggle source
# File lib/meroku/user.rb, line 49 def self.delete_token file = "#{Dir.home}/.meroku_token" File.delete(file) if File.exist?(file) end
login(email, password)
click to toggle source
# File lib/meroku/user.rb, line 8 def self.login(email, password) data = { 'email' => email, 'password' => password }.to_json result = RestClient.post 'https://www.meroku.com/login.json', data, content_type: :json process_error(result) process_success(result) { |x| save_token(x) } end
logout()
click to toggle source
# File lib/meroku/user.rb, line 22 def self.logout file = "#{Dir.home}/.meroku_token" File.delete(file) puts 'Logged out' raise Meroku::Success end
save_token(x)
click to toggle source
# File lib/meroku/user.rb, line 17 def self.save_token(x) token = JSON.parse(x).dig('data', 'token') IO.write("#{Dir.home}/.meroku_token", token) if token end
signup(email, password)
click to toggle source
# File lib/meroku/user.rb, line 29 def self.signup(email, password) data = { 'email' => email, 'password' => password }.to_json result = RestClient.post 'https://www.meroku.com/registrations.json', data, content_type: :json process_error(result) process_success(result) { |x| save_token(x) } end
unregister(options)
click to toggle source
# File lib/meroku/user.rb, line 38 def self.unregister(options) data = { 'email' => options[:email], 'password' => options[:password] } result = RestClient::Request.execute( method: :delete, url: 'https://www.meroku.com/registrations.json', headers: { params: data } ) process_error(result) process_success(result) { delete_token } end
Public Instance Methods
saved_token()
click to toggle source
# File lib/meroku/user.rb, line 54 def saved_token token_path = Dir.home + '/.meroku_token' IO.read(token_path) rescue StandardError => e raise Meroku::Error, "Login failed #{e.class}" end