Sha256: 237fd14f00b7e58ff62d61bf327c35a14ceb6bf2c2df6d01fd92e2553175793e

Contents?: true

Size: 1.44 KB

Versions: 31

Compression:

Stored size: 1.44 KB

Contents

# frozen_string_literal: true

require 'avm/data/dumper'
require 'eac_cli/core_ext'
require 'avm/tools/runner_with/instance_data_performer'

module Avm
  module Tools
    module RunnerWith
      module InstanceDataDump
        common_concern do
          enable_simple_cache
          runner_definition do
            bool_opt '-w', '--rewrite', 'Forces dump overwrite.'
            pos_arg :dump_path, optional: true
          end

          set_callback :run, :after do
            success("Dump path: \"#{dump_path}\"")
            dump_path
          end
        end

        include ::Avm::Tools::RunnerWith::InstanceDataPerformer

        DUMP_EXPIRE_TIME = 1.day
        NO_DUMP_MESSAGE = 'Dump "%s" already exist and rewrite options was no setted nor ' \
                          'dump was expired.'

        # @return [Class]
        def data_performer_class
          ::Avm::Data::Dumper
        end

        # @return [String]
        def help_extra_text
          "Default dump path: \"#{default_dump_path}\""
        end

        private

        # @return [Avm::Data::Dumper]
        def data_performer_uncached
          r = super.overwrite(parsed.rewrite?)
          parsed.dump_path.if_present(r) { |v| r.target_path(v.to_pathname) }
        end

        # @return [Pathname]
        def dump_path
          data_performer.target_path
        end

        def default_dump_path
          data_performer.default_dump_path
        end
      end
    end
  end
end

Version data entries

31 entries across 31 versions & 2 rubygems

Version Path
avm-tools-0.162.0 lib/avm/tools/runner_with/instance_data_dump.rb
eac_tools-0.94.0 sub/avm-tools/lib/avm/tools/runner_with/instance_data_dump.rb
avm-tools-0.161.0 lib/avm/tools/runner_with/instance_data_dump.rb
eac_tools-0.86.5 sub/avm-tools/lib/avm/tools/runner_with/instance_data_dump.rb
avm-tools-0.160.2 lib/avm/tools/runner_with/instance_data_dump.rb
eac_tools-0.86.4 sub/avm-tools/lib/avm/tools/runner_with/instance_data_dump.rb
eac_tools-0.86.3 sub/avm-tools/lib/avm/tools/runner_with/instance_data_dump.rb
avm-tools-0.160.1 lib/avm/tools/runner_with/instance_data_dump.rb
eac_tools-0.86.2 sub/avm-tools/lib/avm/tools/runner_with/instance_data_dump.rb
eac_tools-0.86.1 sub/avm-tools/lib/avm/tools/runner_with/instance_data_dump.rb
avm-tools-0.160.0 lib/avm/tools/runner_with/instance_data_dump.rb
eac_tools-0.86.0 sub/avm-tools/lib/avm/tools/runner_with/instance_data_dump.rb
eac_tools-0.85.1 sub/avm-tools/lib/avm/tools/runner_with/instance_data_dump.rb
avm-tools-0.159.1 lib/avm/tools/runner_with/instance_data_dump.rb
eac_tools-0.85.0 sub/avm-tools/lib/avm/tools/runner_with/instance_data_dump.rb
eac_tools-0.84.2 sub/avm-tools/lib/avm/tools/runner_with/instance_data_dump.rb
eac_tools-0.84.1 sub/avm-tools/lib/avm/tools/runner_with/instance_data_dump.rb
eac_tools-0.84.0 sub/avm-tools/lib/avm/tools/runner_with/instance_data_dump.rb
eac_tools-0.83.0 sub/avm-tools/lib/avm/tools/runner_with/instance_data_dump.rb
avm-tools-0.159.0 lib/avm/tools/runner_with/instance_data_dump.rb