Class: Apadmi::Grout::DIWrapper

Inherits:
Object
  • Object
show all
Defined in:
lib/fastlane/plugin/apadmi_grout/utils/di_wrapper.rb

Overview

Helper function for constructing the DI from params

Class Method Summary collapse

Class Method Details

.ado_config(params, logger) ⇒ Object



13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/fastlane/plugin/apadmi_grout/utils/di_wrapper.rb', line 13

def self.ado_config(params, logger)
  raise "Invalid ADO personal access token" if params[:ado_pat].blank?

  Apadmi::Grout::DependencyInjector.init_for_ado(
    Apadmi::Grout::AdoConfig.new(
      personal_access_token: params[:ado_pat],
      base_url: params[:board_base_url],
      flag_tag: "FLAGGED"
    ),
    logger
  )
end

.confluence_service(params) ⇒ Object



7
8
9
10
11
# File 'lib/fastlane/plugin/apadmi_grout/utils/di_wrapper.rb', line 7

def self.confluence_service(params)
  auth_service = Apadmi::Grout::ConfluenceAuthService.new(params[:confluence_client_id], params[:confluence_client_secret])
  network_service = Apadmi::Grout::NetworkService.new(auth_service, params[:confluence_base_url])
  Apadmi::Grout::ConfluenceService.new(network_service)
end

.di(params, logger) ⇒ Object



43
44
45
46
47
48
49
50
51
52
# File 'lib/fastlane/plugin/apadmi_grout/utils/di_wrapper.rb', line 43

def self.di(params, logger)
  case params[:board_provider]
  when "ADO"
    ado_config(params, logger)
  when "JIRA"
    jira_config(params, logger)
  else
    raise "Unsupported board provider: #{params[:board_provider]}"
  end
end

.jira_config(params, logger) ⇒ Object



26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# File 'lib/fastlane/plugin/apadmi_grout/utils/di_wrapper.rb', line 26

def self.jira_config(params, logger)
  raise "Invalid jira username" if params[:jira_username].blank?
  raise "Invalid jira_api_token" if params[:jira_api_token].blank?
  raise "Invalid jira_project_key" if params[:jira_project_key].blank?

  Apadmi::Grout::DependencyInjector.init_for_jira(
    Apadmi::Grout::JiraConfig.new(
      username: params[:jira_username],
      api_token: params[:jira_api_token],
      base_url: params[:board_base_url],
      context_path: params[:jira_context_path],
      project_key: params[:jira_project_key]
    ),
    logger
  )
end