class EnvironmentsRepository

Public Class Methods

by_app(app_id:) click to toggle source
# File lib/busbar_cli/repositories/environments_repository.rb, line 3
def by_app(app_id:)
  @app_id = app_id

  request = Request.get(environments_route)

  return [] if request.code == '404'

  environments_data = JSON.parse(request.body)['data']

  environments_data.map do |environment_data|
    Environment.new(environment_data)
  end
end
clone(environment:, clone_name:) click to toggle source
# File lib/busbar_cli/repositories/environments_repository.rb, line 59
def clone(environment:, clone_name:)
  @app_id = environment.app_id
  @environment_name = environment.name

  url = "#{environment_route}/clone"

  Request.post(url, clone_name: clone_name).code == '202'
end
create(params) click to toggle source
# File lib/busbar_cli/repositories/environments_repository.rb, line 37
def create(params)
  @app_id = params[:app_id]

  Request.post(environments_route, params).code == '201'
end
destroy(environment:) click to toggle source
# File lib/busbar_cli/repositories/environments_repository.rb, line 68
def destroy(environment:)
  @environment_name = environment.name
  @app_id = environment.app_id

  Request.delete(environment_route).code == '204'
end
find(environment_name:, app_id:) click to toggle source
# File lib/busbar_cli/repositories/environments_repository.rb, line 17
def find(environment_name:, app_id:)
  @environment_name = environment_name
  @app_id = app_id

  request = Request.get(environment_route)

  return if request.code == '404'

  environment_data = JSON.parse(request.body)['data']

  Environment.new(environment_data)
end
get(environment_name, app_id) click to toggle source
# File lib/busbar_cli/repositories/environments_repository.rb, line 30
def get(environment_name, app_id)
  @environment_name = environment_name
  @app_id = app_id

  Request.get(environment_route).body
end
publish(environment:) click to toggle source
# File lib/busbar_cli/repositories/environments_repository.rb, line 43
def publish(environment:)
  @app_id = environment.app_id
  @environment_name = environment.name

  Request.put("#{environment_route}/publish", {}).code == '202'
end
resize(environment:, node_type:) click to toggle source
# File lib/busbar_cli/repositories/environments_repository.rb, line 50
def resize(environment:, node_type:)
  @app_id = environment.app_id
  @environment_name = environment.name

  url = "#{environment_route}/resize"

  Request.put(url, node_id: node_type).code == '202'
end

Private Class Methods

environment_route() click to toggle source
# File lib/busbar_cli/repositories/environments_repository.rb, line 77
def environment_route
  "/apps/#{@app_id}/environments/#{@environment_name}"
end
environments_route() click to toggle source
# File lib/busbar_cli/repositories/environments_repository.rb, line 81
def environments_route
  "/apps/#{@app_id}/environments/"
end