class Renamespace::MoveSpecFile
Attributes
paths[R]
Public Class Methods
new(paths:)
click to toggle source
# File lib/renamespace/move_spec_file.rb, line 7 def initialize(paths:) @paths = paths end
Public Instance Methods
call()
click to toggle source
# File lib/renamespace/move_spec_file.rb, line 11 def call move unless missing? || paths.same? end
Private Instance Methods
destination_spec_path()
click to toggle source
# File lib/renamespace/move_spec_file.rb, line 36 def destination_spec_path spec_path(paths.destination) end
missing?()
click to toggle source
# File lib/renamespace/move_spec_file.rb, line 28 def missing? !(File.exist?(source_spec_path) || warn_missing) end
move()
click to toggle source
# File lib/renamespace/move_spec_file.rb, line 19 def move Renamespace::Directories.create_directories_to_file(destination_spec_path) FileUtils.mv(source_spec_path, destination_spec_path) end
source_spec_path()
click to toggle source
# File lib/renamespace/move_spec_file.rb, line 32 def source_spec_path spec_path(paths.source) end
spec_path(path)
click to toggle source
# File lib/renamespace/move_spec_file.rb, line 40 def spec_path(path) path .sub('.rb', '_spec.rb') .sub(/^lib/, specs_dir) end
specs_dir()
click to toggle source
# File lib/renamespace/move_spec_file.rb, line 46 def specs_dir Dir.exist?('spec/lib') ? 'spec/lib' : 'spec' end
warn_missing()
click to toggle source
# File lib/renamespace/move_spec_file.rb, line 24 def warn_missing puts Rainbow("Warning: spec file missing for #{destination_spec_path}").orange end