Class: Avm::EacWebappBase0::Runner::Data::Load

Inherits:
EacRubyUtils::Console::DocoptRunner
  • Object
show all
Includes:
EacRubyUtils::Console::Speaker, EacRubyUtils::SimpleCache
Defined in:
lib/avm/eac_webapp_base0/runner/data/load.rb

Constant Summary collapse

DOC =
<<~DOCUMENT
  Load utility for EacRailsBase instance.

  Usage:
    __PROGRAM__ (<dump-path>|--source-instance=<source-instance>)
    __PROGRAM__ -h | --help

  Options:
    -h --help                               Show this screen.
    -S --source-instance=<source-instance>  Informa a instância a ser extraída o dump.
DOCUMENT

Instance Method Summary collapse

Instance Method Details

#dump_instance_methodObject



53
54
55
# File 'lib/avm/eac_webapp_base0/runner/data/load.rb', line 53

def dump_instance_method
  :dump_database
end

#dump_path_uncachedObject



35
36
37
38
39
40
# File 'lib/avm/eac_webapp_base0/runner/data/load.rb', line 35

def dump_path_uncached
  return options.fetch('<dump-path>').to_s if options.fetch('<dump-path>').present?
  return source_instance_dump_path if options.fetch('--source-instance').present?

  raise "Dump path unknown (Options: #{options})"
end

#load_dumpObject



48
49
50
51
# File 'lib/avm/eac_webapp_base0/runner/data/load.rb', line 48

def load_dump
  info "Loading dump \"#{dump_path}\"..."
  package_load.run
end

#runObject



27
28
29
30
31
32
33
# File 'lib/avm/eac_webapp_base0/runner/data/load.rb', line 27

def run
  return ::Dev::Result.error("Dump \"#{dump_path}\" does not exist") unless
  ::File.exist?(dump_path)

  load_dump
  success("Dump loaded from \"#{dump_path}\"")
end

#source_instance_dump_pathObject



42
43
44
45
46
# File 'lib/avm/eac_webapp_base0/runner/data/load.rb', line 42

def source_instance_dump_path
  context(:instance).class.by_id(
    options.fetch('--source-instance')
  ).data_dump
end