Class: EnvironmentsRepository

Inherits:
Object
  • Object
show all
Defined in:
lib/busbar_cli/repositories/environments_repository.rb

Class Method Summary collapse

Class Method Details

.by_app(app_id:) ⇒ Object



3
4
5
6
7
8
9
10
11
12
13
14
15
# 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:) ⇒ Object



52
53
54
55
56
57
58
59
# File 'lib/busbar_cli/repositories/environments_repository.rb', line 52

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) ⇒ Object



30
31
32
33
34
# File 'lib/busbar_cli/repositories/environments_repository.rb', line 30

def create(params)
  @app_id = params[:app_id]

  Request.post(environments_route, params).code == '201'
end

.destroy(environment:) ⇒ Object



61
62
63
64
65
66
# File 'lib/busbar_cli/repositories/environments_repository.rb', line 61

def destroy(environment:)
  @environment_name = environment.name
  @app_id = environment.app_id

  Request.delete(environment_route).code == '204'
end

.find(environment_name:, app_id:) ⇒ Object



17
18
19
20
21
22
23
24
25
26
27
28
# 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

.publish(environment:) ⇒ Object



36
37
38
39
40
41
# File 'lib/busbar_cli/repositories/environments_repository.rb', line 36

def publish(environment:)
  @app_id = environment.app_id
  @environment_name = environment.name

  Request.put("#{environment_route}/publish", {}).code == '202'
end

.resize(environment:, node_type:) ⇒ Object



43
44
45
46
47
48
49
50
# File 'lib/busbar_cli/repositories/environments_repository.rb', line 43

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