summaryrefslogtreecommitdiff
path: root/app/presenters/terraform/modules_presenter.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/presenters/terraform/modules_presenter.rb')
-rw-r--r--app/presenters/terraform/modules_presenter.rb40
1 files changed, 40 insertions, 0 deletions
diff --git a/app/presenters/terraform/modules_presenter.rb b/app/presenters/terraform/modules_presenter.rb
new file mode 100644
index 00000000000..608f69e2019
--- /dev/null
+++ b/app/presenters/terraform/modules_presenter.rb
@@ -0,0 +1,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