Class: SettingsRepository

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

Class Method Summary collapse

Class Method Details

.by_environment(environment:) ⇒ Object



3
4
5
6
7
8
9
10
11
12
13
14
15
# File 'lib/busbar_cli/repositories/settings_repository.rb', line 3

def by_environment(environment:)
  @environment = environment

  request = Request.get(settings_route)

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

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

  settings_data.map do |setting_data|
    Setting.new(setting_data)
  end
end

.destroy(setting:) ⇒ Object



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

def destroy(setting:)
  @setting = setting
  @environment = Environment.new(name: setting.environment_name, app_id: setting.app_id)

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

.get(environment:, setting_key:) ⇒ Object



17
18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/busbar_cli/repositories/settings_repository.rb', line 17

def get(environment:, setting_key:)
  @environment = environment
  @setting = Setting.new(key: setting_key)

  request = Request.get(setting_route)

  return if request.code == '404'

  setting_data = JSON.parse(request.body)['data']
                     .merge(app_id: environment.app_id, environment_name: environment.name)

  Setting.new(setting_data)
end

.set(environment:, settings:, deploy:) ⇒ Object



31
32
33
34
35
# File 'lib/busbar_cli/repositories/settings_repository.rb', line 31

def set(environment:, settings:, deploy:)
  @environment = environment

  Request.put("#{settings_route}/bulk", settings: settings, deploy: deploy).code == '200'
end