Sha256: 4420c8defccc5555b4ba5e24296b2ac42d6e05801fcaa2bad61ecf30d124448c

Contents?: true

Size: 1.41 KB

Versions: 32

Compression:

Stored size: 1.41 KB

Contents

# frozen_string_literal: true

require 'avm/instances/base'
require 'avm/stereotypes/postgresql/instance_with'
require 'avm/data/instance/files_unit'
require 'avm/data/instance/package'
require 'avm/stereotypes/eac_webapp_base0/deploy/file_unit'

module Avm
  module Stereotypes
    module EacWebappBase0
      class Instance < ::Avm::Instances::Base
        include ::Avm::Stereotypes::Postgresql::InstanceWith

        def stereotype_name
          self.class.name.desconstantize.demodulize
        end

        def data_dump(argv = [])
          run_subcommand(::Avm::Tools::Runner::EacWordpressBase0::Data::Dump, argv)
        end

        def data_dump_runner_class
          "::Avm::Tools::Runner::#{stereotype_name}::Data::Dump".constantize
        end

        def run_subcommand(subcommand_class, argv)
          parent = ::OpenStruct.new(instance: self)
          subcommand_class.new(argv: argv, parent: parent).run
        end

        def data_package
          @data_package ||= ::Avm::Data::Instance::Package.new(
            self, units: { database: database_unit }.merge(files_units)
          )
        end

        def database_unit
          pg.data_unit
        end

        private

        def files_units
          self.class.const_get('FILES_UNITS').transform_values do |fs_path_subpath|
            ::Avm::Data::Instance::FilesUnit.new(self, fs_path_subpath)
          end
        end
      end
    end
  end
end

Version data entries

32 entries across 32 versions & 1 rubygems

Version Path
avm-tools-0.68.0 lib/avm/stereotypes/eac_webapp_base0/instance.rb
avm-tools-0.67.0 lib/avm/stereotypes/eac_webapp_base0/instance.rb
avm-tools-0.66.0 lib/avm/stereotypes/eac_webapp_base0/instance.rb
avm-tools-0.65.0 lib/avm/stereotypes/eac_webapp_base0/instance.rb
avm-tools-0.64.2 lib/avm/stereotypes/eac_webapp_base0/instance.rb
avm-tools-0.64.1 lib/avm/stereotypes/eac_webapp_base0/instance.rb
avm-tools-0.64.0 lib/avm/stereotypes/eac_webapp_base0/instance.rb
avm-tools-0.63.0 lib/avm/stereotypes/eac_webapp_base0/instance.rb
avm-tools-0.62.4 lib/avm/stereotypes/eac_webapp_base0/instance.rb
avm-tools-0.62.3 lib/avm/stereotypes/eac_webapp_base0/instance.rb
avm-tools-0.62.2 lib/avm/stereotypes/eac_webapp_base0/instance.rb
avm-tools-0.62.1 lib/avm/stereotypes/eac_webapp_base0/instance.rb
avm-tools-0.62.0 lib/avm/stereotypes/eac_webapp_base0/instance.rb
avm-tools-0.61.0 lib/avm/stereotypes/eac_webapp_base0/instance.rb
avm-tools-0.60.0 lib/avm/stereotypes/eac_webapp_base0/instance.rb
avm-tools-0.59.0 lib/avm/stereotypes/eac_webapp_base0/instance.rb
avm-tools-0.58.1 lib/avm/stereotypes/eac_webapp_base0/instance.rb
avm-tools-0.58.0 lib/avm/stereotypes/eac_webapp_base0/instance.rb
avm-tools-0.57.0 lib/avm/stereotypes/eac_webapp_base0/instance.rb
avm-tools-0.56.0 lib/avm/stereotypes/eac_webapp_base0/instance.rb