class Cbratools::RenameComponent

Public Class Methods

new(current_name, new_name, path, verbose_output) click to toggle source
# 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

Public Instance Methods

change_component_name_in_file_names() click to toggle source
# 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_files() click to toggle source
# 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_names() click to toggle source
# 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
run() click to toggle source
# 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