Class: ZenPro::Commands::Session
- Inherits:
-
Object
- Object
- ZenPro::Commands::Session
- Defined in:
- lib/zen_pro/commands/session.rb
Instance Method Summary collapse
-
#initialize(project_template_id) ⇒ Session
constructor
A new instance of Session.
- #login ⇒ Object
- #logout ⇒ Object
Constructor Details
#initialize(project_template_id) ⇒ Session
Returns a new instance of Session.
6 7 8 |
# File 'lib/zen_pro/commands/session.rb', line 6 def initialize(project_template_id) @project_template_id = project_template_id end |
Instance Method Details
#login ⇒ Object
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/zen_pro/commands/session.rb', line 10 def login return api_token if logged_in? api_token_to_save = prompt.ask "Enter your API token for #{project_template_id}:" netrc = Netrc.read netrc[ "zeroconfigrails.com/#{project_template_id}" ] = project_template_id, api_token_to_save netrc.save prompt.ok "You are now logged in to the session for #{project_template_id}!\n" api_token_to_save rescue StandardError => e prompt.error "\nOops, Zen encountered an error while logging you in!" prompt.say "\n#{e.message}" raise e end |
#logout ⇒ Object
35 36 37 38 39 40 41 42 |
# File 'lib/zen_pro/commands/session.rb', line 35 def logout netrc = Netrc.read netrc.delete("zeroconfigrails.com/#{project_template_id}") netrc.save prompt.ok "You are now logged out of the session for #{project_template_id}" end |