Class: Cbratools::RenameComponent

Inherits:
Object
  • Object
show all
Defined in:
lib/cbratools/rename_component.rb

Defined Under Namespace

Classes: FileRefactorer, FilesAndFoldersSelector, FilesRenamer, FolderRenamer

Instance Method Summary collapse

Constructor Details

#initialize(current_name, new_name, path, verbose_output) ⇒ RenameComponent

Returns a new instance of RenameComponent.



3
4
5
6
7
8
9
10
11
12
13
14
# File 'lib/cbratools/rename_component.rb', line 3

def initialize(current_name, new_name, path, verbose_output)
  @current_name = current_name
  @new_name = new_name
  @path = path
  @verbose_output = verbose_output

  @name_changes = [
      [current_name, new_name],
      [Cbratools::String.underscore(current_name),
       Cbratools::String.underscore(new_name)]
  ]
end

Instance Method Details

#change_component_name_in_file_namesObject



50
51
52
53
54
55
56
57
58
59
# File 'lib/cbratools/rename_component.rb', line 50

def change_component_name_in_file_names
  selectors = [
  ->(filename) { !File.directory?(filename) },
  ->(filename) { !filename.include?("db/migrate") },
  ->(filename) { File.split(filename).last.include?(@name_changes.last.first) }
  ]
  FilesAndFoldersSelector.new(@path, @name_changes, selectors).each do |f|
    FilesRenamer.new(f, @name_changes).refactor
  end
end

#change_component_name_in_filesObject



22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# File 'lib/cbratools/rename_component.rb', line 22

def change_component_name_in_files
  selectors = [
  ->(filename) { !File.directory?(filename) },
  ->(filename) { !filename.include?(".log") },
  ->(filename) { !filename.include?(".sqlite") },
  ->(filename) { !filename.include?("schema.rb") },
  ->(filename) { !filename.include?("structure.sql") },
  ->(filename) { !filename.include?("sprockets") },
  ->(filename) { !filename.include?("tmp/cache") },
  ->(filename) { !filename.include?("assets/images") },
  ->(filename) { !filename.include?("db/migrate") }
  ]

  FilesAndFoldersSelector.new(@path, @name_changes, selectors).each do |f|
    FileRefactorer.new(f, @name_changes).refactor
  end
end

#change_component_name_in_folder_namesObject



40
41
42
43
44
45
46
47
48
# File 'lib/cbratools/rename_component.rb', line 40

def change_component_name_in_folder_names
  selectors = [
  ->(filename) { File.directory?(filename) },
  ->(filename) { filename.end_with?(@name_changes.last.first) }
  ]
  FilesAndFoldersSelector.new(@path, @name_changes, selectors).each do |f|
    FolderRenamer.new(f, @name_changes).refactor
  end
end

#runObject



16
17
18
19
20
# File 'lib/cbratools/rename_component.rb', line 16

def run
  change_component_name_in_files
  change_component_name_in_folder_names
  change_component_name_in_file_names
end