class Meroku::App

Logic related to Consumer Apps

Public Class Methods

add_git_remote(result) click to toggle source
# 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) click to toggle source
# 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) click to toggle source
# 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_apps() click to toggle source
# 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