Module: Meroku::User
Overview
Logic related to Users login, logout etc
Class Method Summary
collapse
Instance Method Summary
collapse
process_error, process_success
Class Method Details
.delete_token ⇒ Object
49
50
51
52
|
# 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) ⇒ Object
8
9
10
11
12
13
14
15
|
# 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 ⇒ Object
22
23
24
25
26
27
|
# 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) ⇒ Object
17
18
19
20
|
# 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) ⇒ Object
29
30
31
32
33
34
35
36
|
# 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) ⇒ Object
38
39
40
41
42
43
44
45
46
47
|
# 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
|
Instance Method Details
#saved_token ⇒ Object
54
55
56
57
58
59
|
# 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
|