Sha256: 500dcea6f5fe3f69722f2f35a4795198da9e136dc765d26bddcf0522831d5069

Contents?: true

Size: 1.69 KB

Versions: 58

Compression:

Stored size: 1.69 KB

Contents

# frozen_string_literal: true

require 'avm/data/package/dump'
require 'eac_cli/core_ext'

module Avm
  module EacWebappBase0
    class Runner < ::Avm::Instances::Runner
      class Data
        class Dump
          DUMP_EXPIRE_TIME = 1.day
          DEFAULT_DUMP_PATH_ENTRY_SUFFIX = 'data.default_dump_path'
          NO_DUMP_MESSAGE = 'Dump "%s" already exist and rewrite options was no setted nor ' \
            'dump was expired.'

          runner_with :help do
            desc 'Dump utility for EacRailsBase instance.'
            bool_opt '-w', '--rewrite', 'Forces dump overwrite.'
            arg_opt '-p', '--dump-path', 'Set DUMP_PATH variable.'
          end

          def run
            infov 'Instance to dump', "#{instance} (#{instance.class})"
            if package_dump.runnable?
              package_dump.run
            else
              warn(package_dump.cannot_run_reason)
            end
            success("Dump path: \"#{dump_path}\"")
            dump_path
          end

          private

          def instance
            runner_context.call(:instance)
          end

          def package_dump_uncached
            instance
              .data_package.dump(dump_path, existing: package_dump_existing)
          end

          def dump_path
            parsed.dump_path || default_dump_path
          end

          def default_dump_path
            instance.read_entry(DEFAULT_DUMP_PATH_ENTRY_SUFFIX)
          end

          def package_dump_existing
            if parsed.rewrite?
              ::Avm::Data::Package::Dump::EXISTING_ROTATE
            else
              ::Avm::Data::Package::Dump::EXISTING_ROTATE_EXPIRED
            end
          end
        end
      end
    end
  end
end

Version data entries

58 entries across 58 versions & 3 rubygems

Version Path
eac_tools-0.22.0 sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/runner/data/dump.rb
eac_tools-0.21.0 sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/runner/data/dump.rb
eac_tools-0.20.0 sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/runner/data/dump.rb
eac_tools-0.19.0 sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/runner/data/dump.rb
eac_tools-0.18.0 sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/runner/data/dump.rb
eac_tools-0.17.0 sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/runner/data/dump.rb
eac_tools-0.16.1 sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/runner/data/dump.rb
eac_tools-0.16.0 sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/runner/data/dump.rb
avm-eac_webapp_base0-0.3.1 lib/avm/eac_webapp_base0/runner/data/dump.rb
eac_tools-0.15.0 sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/runner/data/dump.rb
avm-tools-0.120.2 sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/runner/data/dump.rb
avm-tools-0.120.1 sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/runner/data/dump.rb
avm-tools-0.120.0 sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/runner/data/dump.rb
avm-tools-0.119.0 sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/runner/data/dump.rb
avm-tools-0.118.0 sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/runner/data/dump.rb
avm-tools-0.117.3 sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/runner/data/dump.rb
avm-tools-0.117.2 sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/runner/data/dump.rb
avm-tools-0.117.1 sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/runner/data/dump.rb
avm-tools-0.117.0 sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/runner/data/dump.rb
avm-tools-0.116.2 sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/runner/data/dump.rb