Sha256: efc3697eefeb3e8aac045c3b0460c9037b2972e34362bc70a0850fff0a49737c

Contents?: true

Size: 1.88 KB

Versions: 9

Compression:

Stored size: 1.88 KB

Contents

# frozen_string_literal: true

require 'eac_cli/core_ext'
require 'eac_ruby_utils/fs/traversable'
require 'ehbrs/vg/wii/file_move'
require 'ehbrs/vg/wii/game_file'

module Ehbrs
  module Tools
    class Runner
      class Vg
        class Wii
          include ::EacRubyUtils::Fs::Traversable

          runner_with :help do
            desc 'Manipulação de imagens de jogo Wii.'
            bool_opt '-R', '--recursive', 'Busca arquivos recursivamente.'
            bool_opt '-d', '--dump', 'Mostra todos os atributos do jogo.'
            arg_opt '-m', '--move', 'Move o arquivo.'
            bool_opt '-c', '--confirm', 'Confirma o movimento do arquivo.'
            pos_arg 'paths', repeat: true
          end

          def run
            infov 'Recursive?', traverser_new.recursive?
            parsed.paths.each do |path|
              traverser_check_path(path)
            end
          end

          private

          def confirm?
            parsed.confirm?
          end

          def dump(game)
            return unless parsed.dump?

            game.properties.each do |name, value|
              infov "  * #{name}", value
            end
          end

          def move(game)
            return if move_arg.blank?

            file_move = ::Ehbrs::Vg::Wii::FileMove.new(game, game.format(move_arg))
            infov '  * Target path',
                  file_move.target.to_s.colorize(file_move.change? ? :light_white : :light_black)
            file_move.run if confirm?
          end

          def move_arg
            parsed.move
          end

          def traverser_recursive
            parsed.recursive
          end

          def traverser_check_file(path)
            game = ::Ehbrs::Vg::Wii::GameFile.new(path)
            return unless game.valid?

            infom game.wit_path
            dump(game)
            move(game)
          end
        end
      end
    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
ehbrs-tools-0.28.2 lib/ehbrs/tools/runner/vg/wii.rb
ehbrs-tools-0.28.1 lib/ehbrs/tools/runner/vg/wii.rb
ehbrs-tools-0.28.0 lib/ehbrs/tools/runner/vg/wii.rb
ehbrs-tools-0.27.0 lib/ehbrs/tools/runner/vg/wii.rb
ehbrs-tools-0.26.0 lib/ehbrs/tools/runner/vg/wii.rb
ehbrs-tools-0.25.1 lib/ehbrs/tools/runner/vg/wii.rb
ehbrs-tools-0.25.0 lib/ehbrs/tools/runner/vg/wii.rb
ehbrs-tools-0.24.0 lib/ehbrs/tools/runner/vg/wii.rb
ehbrs-tools-0.23.1 lib/ehbrs/tools/runner/vg/wii.rb