Module: Meroku::Key

Extended by:
ResponseHandler, User
Defined in:
lib/meroku/key.rb

Overview

Logic related to Ssh keys eg. Uploading of users public key

Class Method Summary collapse

Methods included from ResponseHandler

process_error, process_success

Methods included from User

delete_token, login, logout, save_token, saved_token, signup, unregister

Class Method Details

.listObject



10
11
12
13
14
15
16
17
18
19
20
# File 'lib/meroku/key.rb', line 10

def self.list
  result = RestClient.get 'https://www.meroku.com/keys.json',
                          params: { 'token' => saved_token },
                          content_type: :json
  process_error(result)
  process_success(result) do
    JSON.parse(result).dig('data', 'keys_ids').each do |k|
      puts "Key id: #{k}"
    end
  end
end

.remove(key_id) ⇒ Object



35
36
37
38
39
40
41
42
43
44
# File 'lib/meroku/key.rb', line 35

def self.remove(key_id)
  data = { 'id' => key_id, 'token' => saved_token }
  result = RestClient::Request.execute(
    method: :delete,
    url: 'https://www.meroku.com/keys.json',
    headers: { params: data }
  )
  process_error(result)
  process_success(result)
end

.uploadObject



22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/meroku/key.rb', line 22

def self.upload
  data = {
    'token' => saved_token,
    'key_name' => 'id_rsa.pub',
    'key_data' => IO.read(Dir.home + '/.ssh/id_rsa.pub')
  }.to_json
  result = RestClient.post 'https://www.meroku.com/keys.json',
                           data,
                           content_type: :json
  process_error(result)
  process_success(result) { true }
end