Class: Fizzy::CLI::Users

Inherits:
Thor
  • Object
show all
Includes:
Base
Defined in:
lib/fizzy/cli/users.rb

Instance Method Summary collapse

Methods included from Base

included

Instance Method Details

#deactivate(user_id) ⇒ Object



51
52
53
54
# File 'lib/fizzy/cli/users.rb', line 51

def deactivate(user_id)
  client.delete("users/#{user_id}")
  puts "User #{user_id} deactivated."
end

#get(user_id) ⇒ Object



17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/fizzy/cli/users.rb', line 17

def get(user_id)
  resp = client.get("users/#{user_id}")
  u = resp.body
  output_detail(u, pairs: [
                  ["ID", u["id"]],
                  ["Name", u["name"]],
                  ["Email", u["email_address"]],
                  ["Role", u["role"]],
                  ["Active", u["active"]],
                  ["Created", u["created_at"]]
                ])
end

#listObject



9
10
11
12
13
14
# File 'lib/fizzy/cli/users.rb', line 9

def list
  data = paginator.all("users")
  output_list(data, headers: %w[ID Name Email Role Active]) do |u|
    [u["id"], u["name"], u["email_address"], u["role"], u["active"]]
  end
end

#update(user_id) ⇒ Object

Raises:

  • (Thor::Error)


33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
# File 'lib/fizzy/cli/users.rb', line 33

def update(user_id)
  body = build_body(:name, :role)
  raise Thor::Error, "Nothing to update. Provide --name or --role" if body.empty?

  resp = client.put("users/#{user_id}", body: body)
  u = resp.body
  if u
    output_detail(u, pairs: [
                    ["ID", u["id"]],
                    ["Name", u["name"]],
                    ["Role", u["role"]]
                  ])
  else
    puts "User #{user_id} updated."
  end
end