Class: ClassicApi::Command::Main

Inherits:
Base
  • Object
show all
Defined in:
lib/classic_api/command/main.rb

Instance Method Summary collapse

Methods inherited from Base

api, handle_argument_error, start

Instance Method Details

#auth(site = nil, api_key = nil) ⇒ Object



11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# File 'lib/classic_api/command/main.rb', line 11

def auth(site=nil, api_key=nil)
  print_header("AUTHENTICATE")
  
  # Capture arguments
  site = ask_input("SITE", api.config.site) if site.nil?
  api_key = ask_input("API KEY", api.config.api_key) if api_key.nil?
  
  # Validate input
  if !site or !api_key
    print_error("Missing SITE or API_KEY.")
    exit(1)
  end
  
  # Update auth information
  api.(site, api_key)
  
  # Validate login
  user = api.users.find(:current)
  
  # Save auth information
  if user.valid?
    api.save_config("~/.config/classic.api.yml")
    present(user)
    print_success("Authentication successful")
  else
    print_error("Invalid user login!")
    exit(1)
  end
end