Class: Meroku::App

Inherits:
Object
  • Object
show all
Extended by:
ResponseHandler, User
Defined in:
lib/meroku/app.rb

Overview

Logic related to Consumer Apps

Class Method Summary collapse

Methods included from User

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

Methods included from ResponseHandler

process_error, process_success

Class Method Details

.add_git_remote(result) ⇒ Object



42
43
44
45
46
47
48
# File 'lib/meroku/app.rb', line 42

def self.add_git_remote(result)
  username = JSON.parse(result).dig('data', 'username')
  appname = JSON.parse(result).dig('data', 'name')
  remote_uri = "#{username}@www.meroku.com:#{appname}.git"
  Kernel.system('git remote remove meroku 2>/dev/null')
  puts Kernel.system("git remote add meroku #{remote_uri}")
end

.create(name) ⇒ Object

Raises:



9
10
11
12
13
14
15
16
17
# File 'lib/meroku/app.rb', line 9

def self.create(name)
  raise Meroku::Error, 'Not in a git repository' unless Dir.exist?('.git')
  data = { 'token' => saved_token, 'name' => name }.to_json
  result = RestClient.post 'https://www.meroku.com/apps.json',
                           data,
                           content_type: :json
  process_error(result)
  process_success(result) { add_git_remote(result) }
end

.delete_app(name) ⇒ Object



19
20
21
22
23
24
25
26
27
28
# File 'lib/meroku/app.rb', line 19

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

.list_appsObject



30
31
32
33
34
35
36
37
38
39
40
# File 'lib/meroku/app.rb', line 30

def self.list_apps
  result = RestClient.get 'https://www.meroku.com/apps.json',
                          params: { 'token' => saved_token },
                          content_type: :json
  process_error(result)
  process_success(result) do
    JSON.parse(result).dig('data', 'apps_names').each do |k|
      puts k
    end
  end
end