Class: UsePackwerk::Private::InteractiveCli::UseCases::Move

Inherits:
Object
  • Object
show all
Extended by:
T::Helpers, T::Sig
Includes:
Interface
Defined in:
lib/use_packwerk/private/interactive_cli/use_cases/move.rb

Instance Method Summary collapse

Methods included from Interface

all, included

Instance Method Details

#perform!(prompt) ⇒ Object



13
14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/use_packwerk/private/interactive_cli/use_cases/move.rb', line 13

def perform!(prompt)
  pack = PackSelector.single_pack_select(prompt, question_text: 'Please select a destination pack')
  raw_paths_relative_to_root = prompt.multiline('Please copy in a space or new line separated list of files or directories')
  paths_relative_to_root = T.let([], T::Array[String])
  raw_paths_relative_to_root.each do |path|
    paths_relative_to_root += path.chomp.split
  end

  UsePackwerk.move_to_pack!(
    pack_name: pack.name,
    paths_relative_to_root: paths_relative_to_root,
    per_file_processors: [UsePackwerk::RubocopPostProcessor.new, UsePackwerk::CodeOwnershipPostProcessor.new]
  )
end

#user_facing_nameObject



29
30
31
# File 'lib/use_packwerk/private/interactive_cli/use_cases/move.rb', line 29

def user_facing_name
  'Move files'
end