Class: AdminCliController

Inherits:
Object
  • Object
show all
Includes:
Myer::Config
Defined in:
lib/myer/admin_cli_controller.rb

Instance Attribute Summary collapse

Attributes included from Myer::Config

#config_dir, #data_dir

Instance Method Summary collapse

Methods included from Myer::Config

#default_server, #default_server=, define_attribute, #initialize_config, #local_csv_path, #read_config, #server, #servers, #subdirectory, #write_config

Constructor Details

#initializeAdminCliController

Returns a new instance of AdminCliController.



6
7
8
9
# File 'lib/myer/admin_cli_controller.rb', line 6

def initialize
  @out = STDOUT
  initialize_config
end

Instance Attribute Details

#outObject

Returns the value of attribute out.



4
5
6
# File 'lib/myer/admin_cli_controller.rb', line 4

def out
  @out
end

Instance Method Details

#api(server_name = default_server) ⇒ Object



11
12
13
14
15
16
17
18
19
# File 'lib/myer/admin_cli_controller.rb', line 11

def api(server_name = default_server)
  api = MySelf::Api.new
  api.server = server_name
  if server(server_name)
    api.user = server(server_name).admin_id
    api.password = server(server_name).admin_password
  end
  api
end

#delete_bucket(bucket_id) ⇒ Object



49
50
51
52
53
# File 'lib/myer/admin_cli_controller.rb', line 49

def delete_bucket(bucket_id)
  read_config

  api.admin_delete_bucket(bucket_id)
end

#list_bucketsObject



28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
# File 'lib/myer/admin_cli_controller.rb', line 28

def list_buckets
  read_config

  buckets = api.admin_list_buckets

  store = TicketStore.new(config_dir)
  buckets.each do |bucket_id|
    line = bucket_id + ": "
    ticket = store.load_ticket(bucket_id)
    if ticket
      line += ticket.name || "<no name>"
    else
      line += "<no ticket>"
    end
    if bucket_id == default_bucket_id
      line += " (default)"
    end
    out.puts line
  end
end

#register(server_name, pid) ⇒ Object



21
22
23
24
25
26
# File 'lib/myer/admin_cli_controller.rb', line 21

def register(server_name, pid)
  self.default_server = server_name
  self.admin_id, self.admin_password = api(server_name).admin_register(pid)

  write_config
end

#register_userObject



62
63
64
65
66
67
68
69
# File 'lib/myer/admin_cli_controller.rb', line 62

def register_user
  read_config

  token = api.create_token
  self.user_id, self.user_password = api.register(token)

  write_config
end

#statusObject



55
56
57
58
59
60
# File 'lib/myer/admin_cli_controller.rb', line 55

def status
  read_config

  out.puts "Default server: #{default_server}"
  out.puts "Default bucket: #{default_bucket_id}"
end