class SettingsRepository

Public Class Methods

by_environment(environment:) click to toggle source
# 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:) click to toggle source
# 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:) click to toggle source
# 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:) click to toggle source
# 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

Private Class Methods

setting_route() click to toggle source
# File lib/busbar_cli/repositories/settings_repository.rb, line 46
def setting_route
  "#{settings_route}/#{@setting.key.upcase}"
end
settings_route() click to toggle source
# File lib/busbar_cli/repositories/settings_repository.rb, line 50
def settings_route
  "/apps/#{@environment.app_id}/environments/#{@environment.name}/settings"
end