Class: FileChanger

Inherits:
Object
  • Object
show all
Defined in:
lib/file_retriever/FileRetriever/use_cases/FileChanger.rb

Defined Under Namespace

Classes: ChangePathInfo

Instance Method Summary collapse

Constructor Details

#initialize(skip_file_names = []) ⇒ FileChanger



7
8
9
10
11
12
# File 'lib/file_retriever/FileRetriever/use_cases/FileChanger.rb', line 7

def initialize(skip_file_names=[])
  default_skip_regs = ["^.git$","vendor"]
  default_skip_regs.concat(skip_file_names)
  @file_retriever = FileRetriever.new(default_skip_regs)
  @snake_case_reg = Regexp.new(/_+./)
end

Instance Method Details

#change_dirs_name(dirs) ⇒ Object



33
34
35
36
37
38
39
# File 'lib/file_retriever/FileRetriever/use_cases/FileChanger.rb', line 33

def change_dirs_name(dirs)
  dirs.sort {|a,b|
    a.before.length <=> b.before.length
  }.reverse.each do |path_info|
    FileUtils.mv(path_info.before,path_info.after)
  end
end

#retrieve_snake_dirs(base_path, after_type) ⇒ Object



14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/file_retriever/FileRetriever/use_cases/FileChanger.rb', line 14

def retrieve_snake_dirs(base_path,after_type)
  dirs = []
  path_change_callback = after_type == :to_camel ? snake_to_camel : snake_to_pascal

  cb = lambda do |ftype,fn,abs_path| 
    case ftype
    when :directory
      changed_path = set_up_changed_dir(abs_path,path_change_callback)
      unless abs_path == changed_path
        path_info = ChangePathInfo.new(abs_path,changed_path)
        dirs << path_info
      end
    end
  end

  @file_retriever.retrieve(base_path,cb) 
  return dirs
end