Class: Easyeditor::EasyEditor
- Inherits:
-
Object
- Object
- Easyeditor::EasyEditor
- Defined in:
- lib/easyeditor.rb
Instance Attribute Summary collapse
-
#target_files ⇒ Object
Returns the value of attribute target_files.
Instance Method Summary collapse
-
#initialize(path, editor = "vim") ⇒ EasyEditor
constructor
A new instance of EasyEditor.
- #is_match?(path) ⇒ Boolean
- #match_paths ⇒ Object
- #open ⇒ Object
- #parse_path(path) ⇒ Object
- #traverse_dir(dir_path) ⇒ Object
Constructor Details
#initialize(path, editor = "vim") ⇒ EasyEditor
Returns a new instance of EasyEditor.
11 12 13 14 15 16 17 |
# File 'lib/easyeditor.rb', line 11 def initialize(path,editor="vim") @editor = editor @target_files = [] parse_path(path) match_paths return self end |
Instance Attribute Details
#target_files ⇒ Object
Returns the value of attribute target_files.
10 11 12 |
# File 'lib/easyeditor.rb', line 10 def target_files @target_files end |
Instance Method Details
#is_match?(path) ⇒ Boolean
36 37 38 |
# File 'lib/easyeditor.rb', line 36 def is_match?(path) /#{@path_str}/.match(path) && /#{@filename_str}.*/.match(File.basename(path)) end |
#match_paths ⇒ Object
31 32 33 34 35 |
# File 'lib/easyeditor.rb', line 31 def match_paths traverse_dir('.') do |file| @target_files << file if is_match?(file) end end |
#open ⇒ Object
18 19 20 21 22 23 24 25 |
# File 'lib/easyeditor.rb', line 18 def open if @target_files.length > 1 ap @target_files puts "Which file to open:[0-default]" @index = $stdin.gets.to_i end exec "#{@editor} #{@target_files[@index || 0]}" end |
#parse_path(path) ⇒ Object
26 27 28 29 30 |
# File 'lib/easyeditor.rb', line 26 def parse_path(path) path_a = path.split('/') @filename_str = path_a.delete_at(-1) @path_str = path_a.join(".*/.*") end |
#traverse_dir(dir_path) ⇒ Object
39 40 41 42 43 44 45 46 47 48 49 |
# File 'lib/easyeditor.rb', line 39 def traverse_dir(dir_path) if File.directory? dir_path Dir.foreach(dir_path) do |file| if file!="." and file!=".." traverse_dir(dir_path+"/"+file){|x| yield x} end end else yield dir_path end end |