Class: ZenPro::Commands::Session

Inherits:
Object
  • Object
show all
Defined in:
lib/zen_pro/commands/session.rb

Instance Method Summary collapse

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

#loginObject



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 
  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

#logoutObject



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