Welcome to mirror list, hosted at ThFree Co, Russian Federation.

modules_presenter.rb « terraform « presenters « app - gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 608f69e201975667b2caba2a606ed21d1b8c979e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# frozen_string_literal: true

module Terraform
  class ModulesPresenter < Gitlab::View::Presenter::Simple
    attr_accessor :packages, :system

    presents :modules

    def initialize(packages, system)
      @packages = packages
      @system = system
    end

    def modules
      project_url = @packages.first&.project&.web_url
      versions = @packages.map do |package|
        {
          'version' => package.version,
          'submodules' => [],
          'root' => {
            'dependencies' => [],
            'providers' => [
              {
                'name' => @system,
                'version' => ''
              }
            ]
          }
        }
      end

      [
        {
          'versions' => versions,
          'source' => project_url
        }.compact
      ]
    end
  end
end