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



59
60
61
62
63
64
65
66
# 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) ⇒ Object



37
38
39
40
41
# 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:) ⇒ Object



68
69
70
71
72
73
# 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:) ⇒ 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

.get(environment_name, app_id) ⇒ Object



30
31
32
33
34
35
# 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:) ⇒ Object



43
44
45
46
47
48
# 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:) ⇒ Object



50
51
52
53
54
55
56
57
# 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