Class: Umbreo::Models::Authentication
- Inherits:
-
Object
- Object
- Umbreo::Models::Authentication
- Defined in:
- lib/umbreo/models/authentication.rb
Instance Method Summary collapse
-
#error ⇒ Object
return error from validation.
-
#initialize(email = nil, password = nil) ⇒ Authentication
constructor
Init data.
-
#retrieve_credentails! ⇒ Object
check current_user.
-
#sign_in_and_retrieve_token! ⇒ Object
Access server and get access token.
-
#sign_in_callback ⇒ Object
Action after retrive token.
-
#sign_out ⇒ Object
remove file configuration.
-
#valid? ⇒ Boolean
Check credentails validation.
Constructor Details
#initialize(email = nil, password = nil) ⇒ Authentication
Init data
8 9 10 11 12 13 14 15 16 |
# File 'lib/umbreo/models/authentication.rb', line 8 def initialize(email = nil, password = nil) config = Configuration.new @email = email @password = password @endpoint = (config.read_file_authentication[:end_point] rescue nil) || SERVER_END_POINT @message = Helpers::AlertMessage @errors = [] end |
Instance Method Details
#error ⇒ Object
return error from validation
33 34 35 |
# File 'lib/umbreo/models/authentication.rb', line 33 def error @errors.first end |
#retrieve_credentails! ⇒ Object
check current_user
86 87 88 89 90 91 92 93 94 95 |
# File 'lib/umbreo/models/authentication.rb', line 86 def retrieve_credentails! config = Configuration.new if config.is_valid_user? config.read_file_authentication else @message.("Invalid credentials. Please try to login `umbreo login` again.") exit!(0) end end |
#sign_in_and_retrieve_token! ⇒ Object
Access server and get access token
40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
# File 'lib/umbreo/models/authentication.rb', line 40 def sign_in_and_retrieve_token! begin _request = Typhoeus.post( "#{@endpoint}/api/v1/users/retrieve_token", body: { email: @email, password: @password, } ) @data = JSON.parse _request.response_body rescue Exception => e @data = { message: "An error of type #{e.class} happened, #{e.}"} end end |
#sign_in_callback ⇒ Object
Action after retrive token
68 69 70 71 72 73 74 75 76 77 78 79 80 81 |
# File 'lib/umbreo/models/authentication.rb', line 68 def sign_in_callback if @data['success'] @message.("Setting up configuration file at ~/.umbreoconfig...") config = Configuration.new end_point_url = config.read_file_authentication[:end_point] rescue nil config.write_file_authentication(@data, end_point_url) sleep 1 puts "Logged in as #{ Rainbow(@data['email']).cyan }" else @message.(@data['message']) end end |
#sign_out ⇒ Object
remove file configuration
59 60 61 62 63 |
# File 'lib/umbreo/models/authentication.rb', line 59 def sign_out config = Configuration.new config.delete puts 'Local credentials cleared.' end |
#valid? ⇒ Boolean
Check credentails validation
21 22 23 24 25 26 27 28 |
# File 'lib/umbreo/models/authentication.rb', line 21 def valid? @errors << "Email or Password Can not be blank!" if @email.blank? || @password.blank? if @email.present? @errors << "Invalid format email" if @email.match(/\A([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})\z/i).blank? end @errors.blank? end |