ehbrs-tools 0.15.0 → 0.16.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (64) hide show
  1. checksums.yaml +4 -4
  2. data/lib/ehbrs/runner.rb +4 -7
  3. data/lib/ehbrs/runner/finances.rb +4 -7
  4. data/lib/ehbrs/runner/finances/bb_browser.rb +5 -10
  5. data/lib/ehbrs/runner/fs.rb +4 -7
  6. data/lib/ehbrs/runner/fs/used_space.rb +4 -5
  7. data/lib/ehbrs/runner/google.rb +4 -7
  8. data/lib/ehbrs/runner/google/translate.rb +7 -12
  9. data/lib/ehbrs/runner/self.rb +4 -7
  10. data/lib/ehbrs/runner/self/test.rb +5 -10
  11. data/lib/ehbrs/runner/vg.rb +4 -7
  12. data/lib/ehbrs/runner/vg/ips.rb +9 -14
  13. data/lib/ehbrs/runner/vg/wii.rb +10 -13
  14. data/lib/ehbrs/runner/videos.rb +3 -5
  15. data/lib/ehbrs/runner/videos/extract.rb +10 -13
  16. data/lib/ehbrs/runner/videos/probe.rb +3 -6
  17. data/lib/ehbrs/runner/videos/series.rb +5 -8
  18. data/lib/ehbrs/runner/videos/series/rename.rb +9 -12
  19. data/lib/ehbrs/runner/videos/unsupported.rb +9 -13
  20. data/lib/ehbrs/runner/web_utils.rb +5 -7
  21. data/lib/ehbrs/runner/web_utils/videos.rb +4 -6
  22. data/lib/ehbrs/runner/web_utils/videos/download.rb +8 -11
  23. data/lib/ehbrs/runner/web_utils/videos/upload.rb +8 -11
  24. data/lib/ehbrs/tools/version.rb +1 -1
  25. data/lib/ehbrs/videos/series/rename/file/options.rb +3 -13
  26. data/vendor/eac_cli/eac_cli.gemspec +1 -1
  27. data/vendor/eac_cli/lib/eac_cli/definition.rb +25 -3
  28. data/vendor/eac_cli/lib/eac_cli/definition/base_option.rb +17 -1
  29. data/vendor/eac_cli/lib/eac_cli/definition/positional_argument.rb +8 -4
  30. data/vendor/eac_cli/lib/eac_cli/docopt/runner_extension.rb +1 -0
  31. data/vendor/eac_cli/lib/eac_cli/parser/collector.rb +4 -0
  32. data/vendor/eac_cli/lib/eac_cli/parser/options_collection.rb +23 -1
  33. data/vendor/eac_cli/lib/eac_cli/parser/parse_result.rb +17 -0
  34. data/vendor/eac_cli/lib/eac_cli/parser/positional_collection.rb +47 -19
  35. data/vendor/eac_cli/lib/eac_cli/patches/object/runner_with.rb +2 -1
  36. data/vendor/eac_cli/lib/eac_cli/runner.rb +5 -1
  37. data/vendor/eac_cli/lib/eac_cli/runner/context.rb +19 -2
  38. data/vendor/eac_cli/lib/eac_cli/runner_with/subcommands.rb +96 -0
  39. data/vendor/eac_cli/lib/eac_cli/version.rb +1 -1
  40. data/vendor/eac_cli/spec/lib/eac_cli/docopt/runner_extension_spec.rb +25 -0
  41. data/vendor/eac_cli/spec/lib/eac_cli/runner_spec.rb +48 -40
  42. data/vendor/eac_cli/spec/lib/eac_cli/runner_with/subcommands_spec.rb +57 -0
  43. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/blank_not_blank.rb +19 -0
  44. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/configs/base.rb +43 -0
  45. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/configs/file.rb +12 -31
  46. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/console/configs.rb +8 -40
  47. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/console/configs/read_entry_options.rb +41 -0
  48. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/fs/clearable_directory.rb +57 -0
  49. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/enumerator.rb +4 -0
  50. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/enumerator/current.rb +9 -0
  51. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/enumerator/stopped.rb +14 -0
  52. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/paths_hash.rb +21 -58
  53. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/paths_hash/entry_key_error.rb +8 -0
  54. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/paths_hash/node.rb +67 -0
  55. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/paths_hash/path_search.rb +39 -0
  56. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/ruby/command.rb +2 -1
  57. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/struct.rb +4 -0
  58. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/version.rb +1 -1
  59. data/vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/blank_not_blank_spec.rb +16 -0
  60. data/vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/configs_spec.rb +15 -0
  61. data/vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/patches/enumerator/current_spec.rb +26 -0
  62. data/vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/patches/enumerator/stopped_spec.rb +32 -0
  63. data/vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/paths_hash_spec.rb +52 -13
  64. metadata +18 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a87fd9ce05b53ed04fcdfdc72f50a9aee263e95816935bfdb796239c2a0312f6
4
- data.tar.gz: 3b1374c1fdc8d761ac9a23632f16ba132bcab34f08541f5eab7a28d5138fedad
3
+ metadata.gz: c933ef15a718774ec5c1a1f2d4915da05a21d76df979e12a901ed036b9794877
4
+ data.tar.gz: 4b942fb2711d4a9dfc3ff5f89b1ed73167124b0f3974ab1f023ddd3e68724538
5
5
  SHA512:
6
- metadata.gz: 43c2621390f1c3cffff8f0bfe37f5a0569b0e4458558eedb7031a39274429f14e10a882be05d6abfbbc65c1eec776f3bf47be806b25ca649b650bc933a216f1a
7
- data.tar.gz: 0df896b884307cbddddb8949e88c3f4125c8b4e4c2ddd88c42561e00bf632bb29a5308a94bdf5cff5a57abbce93339c8df36839940ee616d2e98c6b3de3f5862
6
+ metadata.gz: 5a07de2b1b7ec7208b46b14b19e84a69e43a2c3c1d9b29b2e8cebbb253324efbff9390464a26c2d6289542bf5cc41aac08ca5cf64a26a103f5d1ae8b7c2f6d82
7
+ data.tar.gz: e456a371d70caa2e7bf9a8c34adc950f413e4673dce6f0666b7eed406cf184ae9a042d9cb7e3e7a7fd306f7eaf7ccbd6304c7e778ae925f1999e2f09e3e995e6
@@ -1,16 +1,13 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'eac_cli/default_runner'
4
- require 'eac_ruby_utils/core_ext'
5
- require 'eac_ruby_utils/console/docopt_runner'
3
+ require 'eac_cli/core_ext'
6
4
  require 'ehbrs/tools/version'
7
5
 
8
6
  module Ehbrs
9
- class Runner < ::EacRubyUtils::Console::DocoptRunner
7
+ class Runner
10
8
  require_sub __FILE__
11
- include ::EacCli::DefaultRunner
12
9
 
13
- runner_definition do
10
+ runner_with :help, :subcommands do
14
11
  desc 'Tools for EHB/RS.'
15
12
  subcommands
16
13
  alt do
@@ -19,7 +16,7 @@ module Ehbrs
19
16
  end
20
17
 
21
18
  def run
22
- if options.fetch('--version')
19
+ if parsed[:version].present?
23
20
  out(::Ehbrs::Tools::VERSION + "\n")
24
21
  else
25
22
  run_with_subcommand
@@ -1,16 +1,13 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'eac_cli/default_runner'
4
- require 'eac_ruby_utils/core_ext'
5
- require 'eac_ruby_utils/console/docopt_runner'
3
+ require 'eac_cli/core_ext'
6
4
 
7
5
  module Ehbrs
8
- class Runner < ::EacRubyUtils::Console::DocoptRunner
9
- class Finances < ::EacRubyUtils::Console::DocoptRunner
10
- include ::EacCli::DefaultRunner
6
+ class Runner
7
+ class Finances
11
8
  require_sub __FILE__
12
9
 
13
- runner_definition do
10
+ runner_with :help, :subcommands do
14
11
  desc 'Utilidades financeiras.'
15
12
  subcommands
16
13
  end
@@ -1,19 +1,14 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'eac_cli/default_runner'
4
- require 'eac_ruby_utils/core_ext'
5
- require 'eac_ruby_utils/console/docopt_runner'
3
+ require 'eac_cli/core_ext'
6
4
  require 'ehbrs/videos/extract/package'
7
5
  require 'eac_docker/images/named'
8
6
 
9
7
  module Ehbrs
10
- class Runner < ::EacRubyUtils::Console::DocoptRunner
11
- class Finances < ::EacRubyUtils::Console::DocoptRunner
12
- class BbBrowser < ::EacRubyUtils::Console::DocoptRunner
13
- include ::EacCli::DefaultRunner
14
- require_sub __FILE__
15
-
16
- runner_definition do
8
+ class Runner
9
+ class Finances
10
+ class BbBrowser
11
+ runner_with :help do
17
12
  desc 'Bankline para Banco do Brasil com módulo de segurança.'
18
13
  end
19
14
 
@@ -1,16 +1,13 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'eac_cli/default_runner'
4
- require 'eac_ruby_utils/core_ext'
5
- require 'eac_ruby_utils/console/docopt_runner'
3
+ require 'eac_cli/core_ext'
6
4
 
7
5
  module Ehbrs
8
- class Runner < ::EacRubyUtils::Console::DocoptRunner
9
- class Fs < ::EacRubyUtils::Console::DocoptRunner
10
- include ::EacCli::DefaultRunner
6
+ class Runner
7
+ class Fs
11
8
  require_sub __FILE__
12
9
 
13
- runner_definition do
10
+ runner_with :help, :subcommands do
14
11
  desc 'Ferramentas para o sistema de arquivos.'
15
12
  subcommands
16
13
  end
@@ -1,15 +1,14 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require 'eac_cli/core_ext'
3
4
  require 'ehbrs/self/observers/used_space'
4
5
  require 'filesize'
5
6
 
6
7
  module Ehbrs
7
- class Runner < ::EacRubyUtils::Console::DocoptRunner
8
- class Fs < ::EacRubyUtils::Console::DocoptRunner
8
+ class Runner
9
+ class Fs
9
10
  class UsedSpace
10
- include ::EacCli::DefaultRunner
11
-
12
- runner_definition do
11
+ runner_with :help do
13
12
  desc 'Verifica e anota alterações de espaço usado de um objeto de sistema de arquivos.'
14
13
  bool_opt '-c', '--check', 'Anota o espaço em disco.'
15
14
  bool_opt '-v', '--verbose', 'Verbose.'
@@ -1,16 +1,13 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'eac_cli/default_runner'
4
- require 'eac_ruby_utils/core_ext'
5
- require 'eac_ruby_utils/console/docopt_runner'
3
+ require 'eac_cli/core_ext'
6
4
 
7
5
  module Ehbrs
8
- class Runner < ::EacRubyUtils::Console::DocoptRunner
9
- class Google < ::EacRubyUtils::Console::DocoptRunner
6
+ class Runner
7
+ class Google
10
8
  require_sub __FILE__
11
- include ::EacCli::DefaultRunner
12
9
 
13
- runner_definition do
10
+ runner_with :help, :subcommands do
14
11
  desc 'Utilidades Google.'
15
12
  subcommands
16
13
  end
@@ -2,16 +2,13 @@
2
2
 
3
3
  require 'eac_cli/default_runner'
4
4
  require 'eac_ruby_utils/core_ext'
5
- require 'eac_ruby_utils/console/docopt_runner'
6
5
  require 'ehbrs/google/translate/session'
7
6
 
8
7
  module Ehbrs
9
- class Runner < ::EacRubyUtils::Console::DocoptRunner
10
- class Google < ::EacRubyUtils::Console::DocoptRunner
11
- class Translate < ::EacRubyUtils::Console::DocoptRunner
12
- include ::EacCli::DefaultRunner
13
-
14
- runner_definition do
8
+ class Runner
9
+ class Google
10
+ class Translate
11
+ runner_with :help do
15
12
  desc 'Traduz um documento com Google Translate.'
16
13
  arg_opt '-o', '--output-file', 'Salva saída em <output-file>.'
17
14
  bool_opt '-w', '--overwrite', 'Permite sobreescrever arquivo de saída.'
@@ -38,12 +35,10 @@ module Ehbrs
38
35
  session.translate(source_file)
39
36
  end
40
37
 
41
- def source_file
42
- options.fetch('<source-file>')
43
- end
38
+ delegate :source_file, to: :parsed
44
39
 
45
40
  def output_file
46
- options.fetch('--output-file') || default_output_file
41
+ parsed.output_file || default_output_file
47
42
  end
48
43
 
49
44
  def default_output_file
@@ -72,7 +67,7 @@ module Ehbrs
72
67
  def validate_output_file
73
68
  return if output_to_stdout?
74
69
  return unless ::File.exist?(output_file)
75
- return if options.fetch('--overwrite')
70
+ return if parsed.overwrite?
76
71
 
77
72
  fatal_error "Output file \"#{output_file}\" already exists"
78
73
  end
@@ -1,16 +1,13 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'eac_cli/default_runner'
4
- require 'eac_ruby_utils/core_ext'
5
- require 'eac_ruby_utils/console/docopt_runner'
3
+ require 'eac_cli/core_ext'
6
4
 
7
5
  module Ehbrs
8
- class Runner < ::EacRubyUtils::Console::DocoptRunner
9
- class Self < ::EacRubyUtils::Console::DocoptRunner
6
+ class Runner
7
+ class Self
10
8
  require_sub __FILE__
11
- include ::EacCli::DefaultRunner
12
9
 
13
- runner_definition do
10
+ runner_with :help, :subcommands do
14
11
  desc 'Self utilities'
15
12
  subcommands
16
13
  end
@@ -1,19 +1,14 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'eac_cli/default_runner'
3
+ require 'eac_cli/core_ext'
4
4
  require 'ehbrs/gems'
5
5
  require 'eac_ruby_gems_utils/tests/multiple'
6
- require 'eac_ruby_utils/core_ext'
7
- require 'eac_ruby_utils/console/docopt_runner'
8
6
 
9
7
  module Ehbrs
10
- class Runner < ::EacRubyUtils::Console::DocoptRunner
11
- class Self < ::EacRubyUtils::Console::DocoptRunner
12
- class Test < ::EacRubyUtils::Console::DocoptRunner
13
- require_sub __FILE__
14
- include ::EacCli::DefaultRunner
15
-
16
- runner_definition do
8
+ class Runner
9
+ class Self
10
+ class Test
11
+ runner_with :help do
17
12
  desc 'Test core and local gems.'
18
13
  end
19
14
 
@@ -1,16 +1,13 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'eac_cli/default_runner'
4
- require 'eac_ruby_utils/core_ext'
5
- require 'eac_ruby_utils/console/docopt_runner'
3
+ require 'eac_cli/core_ext'
6
4
 
7
5
  module Ehbrs
8
- class Runner < ::EacRubyUtils::Console::DocoptRunner
9
- class Vg < ::EacRubyUtils::Console::DocoptRunner
10
- include ::EacCli::DefaultRunner
6
+ class Runner
7
+ class Vg
11
8
  require_sub __FILE__
12
9
 
13
- runner_definition do
10
+ runner_with :help, :subcommands do
14
11
  desc 'Ferramentas para video game.'
15
12
  subcommands
16
13
  end
@@ -1,19 +1,14 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'eac_cli/runner'
4
- require 'eac_cli/default_runner'
5
- require 'eac_ruby_utils/core_ext'
6
- require 'eac_ruby_utils/console/docopt_runner'
3
+ require 'eac_cli/core_ext'
7
4
  require 'eac_ruby_utils/fs/temp'
8
5
  require 'ehbrs/executables'
9
6
 
10
7
  module Ehbrs
11
- class Runner < ::EacRubyUtils::Console::DocoptRunner
12
- class Vg < ::EacRubyUtils::Console::DocoptRunner
13
- class Ips < ::EacRubyUtils::Console::DocoptRunner
14
- include ::EacCli::DefaultRunner
15
-
16
- runner_definition do
8
+ class Runner
9
+ class Vg
10
+ class Ips
11
+ runner_with :help do
17
12
  desc 'Aplica patches IPS em roms.'
18
13
  arg_opt '-o', '--output-file', ' Saída no arquivo <output-file>.'
19
14
  bool_opt '-w', '--overwrite', 'Sobrescreve o arquivo de saída se existente.'
@@ -54,7 +49,7 @@ module Ehbrs
54
49
  end
55
50
 
56
51
  def source_file
57
- options.fetch('<source-file>').to_pathname
52
+ parsed.source_file.to_pathname
58
53
  end
59
54
 
60
55
  def start_banner
@@ -65,11 +60,11 @@ module Ehbrs
65
60
  end
66
61
 
67
62
  def ips_files
68
- options.fetch('<ips-files>').map(&:to_pathname)
63
+ parsed.ips_files.map(&:to_pathname)
69
64
  end
70
65
 
71
66
  def output_file
72
- options.fetch('--output-file').to_pathname || default_output_file
67
+ parsed.output_file.to_pathname || default_output_file
73
68
  end
74
69
 
75
70
  def default_output_file
@@ -98,7 +93,7 @@ module Ehbrs
98
93
 
99
94
  def validate_output_file
100
95
  return unless output_file.exist?
101
- return if options.fetch('--overwrite')
96
+ return if parsed.overwrite?
102
97
 
103
98
  fatal_error("Arquivo de saída \"#{output_file}\" já existe")
104
99
  end
@@ -1,20 +1,17 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'eac_cli/default_runner'
4
- require 'eac_ruby_utils/core_ext'
5
- require 'eac_ruby_utils/console/docopt_runner'
3
+ require 'eac_cli/core_ext'
6
4
  require 'eac_ruby_utils/fs/traversable'
7
5
  require 'ehbrs/vg/wii/file_move'
8
6
  require 'ehbrs/vg/wii/game_file'
9
7
 
10
8
  module Ehbrs
11
- class Runner < ::EacRubyUtils::Console::DocoptRunner
12
- class Vg < ::EacRubyUtils::Console::DocoptRunner
13
- class Wii < ::EacRubyUtils::Console::DocoptRunner
14
- include ::EacCli::DefaultRunner
9
+ class Runner
10
+ class Vg
11
+ class Wii
15
12
  include ::EacRubyUtils::Fs::Traversable
16
13
 
17
- runner_definition do
14
+ runner_with :help do
18
15
  desc 'Manipulação de imagens de jogo Wii.'
19
16
  bool_opt '-R', '--recursive', 'Busca arquivos recursivamente.'
20
17
  bool_opt '-d', '--dump', 'Mostra todos os atributos do jogo.'
@@ -25,7 +22,7 @@ module Ehbrs
25
22
 
26
23
  def run
27
24
  infov 'Recursive?', traverser_new.recursive?
28
- options.fetch('<paths>').each do |path|
25
+ parsed.paths.each do |path|
29
26
  traverser_check_path(path)
30
27
  end
31
28
  end
@@ -33,11 +30,11 @@ module Ehbrs
33
30
  private
34
31
 
35
32
  def confirm?
36
- options.fetch('--confirm')
33
+ parsed.confirm?
37
34
  end
38
35
 
39
36
  def dump(game)
40
- return unless options.fetch('--dump')
37
+ return unless parsed.dump?
41
38
 
42
39
  game.properties.each do |name, value|
43
40
  infov " * #{name}", value
@@ -54,11 +51,11 @@ module Ehbrs
54
51
  end
55
52
 
56
53
  def move_arg
57
- options.fetch('--move')
54
+ parsed.move
58
55
  end
59
56
 
60
57
  def traverser_recursive
61
- options.fetch('--recursive')
58
+ parsed.recursive
62
59
  end
63
60
 
64
61
  def traverser_check_file(path)
@@ -1,15 +1,13 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'eac_cli/core_ext'
4
- require 'eac_ruby_utils/console/docopt_runner'
5
4
 
6
5
  module Ehbrs
7
- class Runner < ::EacRubyUtils::Console::DocoptRunner
8
- class Videos < ::EacRubyUtils::Console::DocoptRunner
9
- runner_with :output_file
6
+ class Runner
7
+ class Videos
10
8
  require_sub __FILE__
11
9
 
12
- runner_definition do
10
+ runner_with :help, :subcommands do
13
11
  desc 'Video tools for EHB/RS.'
14
12
  subcommands
15
13
  end
@@ -1,20 +1,17 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'eac_cli/default_runner'
4
- require 'eac_ruby_utils/core_ext'
5
- require 'eac_ruby_utils/console/docopt_runner'
3
+ require 'eac_cli/core_ext'
6
4
  require 'ehbrs/videos/extract/package'
7
5
 
8
6
  module Ehbrs
9
- class Runner < ::EacRubyUtils::Console::DocoptRunner
10
- class Videos < ::EacRubyUtils::Console::DocoptRunner
11
- class Extract < ::EacRubyUtils::Console::DocoptRunner
12
- include ::EacCli::DefaultRunner
7
+ class Runner
8
+ class Videos
9
+ class Extract
13
10
  require_sub __FILE__
14
11
 
15
12
  DEFAULT_QUALITIES = %w[1080 720 web webrip hdtv].freeze
16
13
 
17
- runner_definition do
14
+ runner_with :help do
18
15
  desc 'Extrai arquivos de seriados.'
19
16
  arg_opt '-d', '--dir', 'Extraí para diretório.'
20
17
  bool_opt '-D', '--delete', 'Remove o pacote após o processamento.'
@@ -26,20 +23,20 @@ module Ehbrs
26
23
  start_banner
27
24
  packages.each do |package|
28
25
  infov 'Package', package
29
- package.run(options.fetch('--delete'))
26
+ package.run(parsed.delete?)
30
27
  end
31
28
  end
32
29
 
33
30
  private
34
31
 
35
32
  def packages_uncached
36
- options.fetch('<packages>').map do |p|
33
+ parsed.packages?.map do |p|
37
34
  ::Ehbrs::Videos::Extract::Package.new(p, target_dir, qualities)
38
35
  end
39
36
  end
40
37
 
41
38
  def qualities_uncached
42
- (options.fetch('--qualities').to_s.split(',') + DEFAULT_QUALITIES).uniq
39
+ (parsed.qualities.to_s.split(',') + DEFAULT_QUALITIES).uniq
43
40
  end
44
41
 
45
42
  def start_banner
@@ -49,11 +46,11 @@ module Ehbrs
49
46
  end
50
47
 
51
48
  def target_dir_uncached
52
- options.fetch('--dir').if_present(&:to_pathname) || default_target_dir
49
+ parsed.dir.if_present(&:to_pathname) || default_target_dir
53
50
  end
54
51
 
55
52
  def default_target_dir
56
- r = options.fetch('<packages>').first.to_pathname.basename('.*')
53
+ r = parsed.packages.first.to_pathname.basename('.*')
57
54
  return r unless r.exist?
58
55
 
59
56
  r = r.basename_sub { |b| "#{b}_extract" }