Class: DxDirGrep
- Inherits:
-
Object
- Object
- DxDirGrep
- Defined in:
- lib/dxdir_grep.rb
Instance Method Summary collapse
- #grep(pattern = '') ⇒ Object
-
#initialize(path: '.', ext: '.txt') ⇒ DxDirGrep
constructor
A new instance of DxDirGrep.
Constructor Details
#initialize(path: '.', ext: '.txt') ⇒ DxDirGrep
Returns a new instance of DxDirGrep.
10 11 12 13 14 15 |
# File 'lib/dxdir_grep.rb', line 10 def initialize(path:'.', ext: '.txt') dtx = DirToXML.new path @dx = dtx.select_by_ext(ext) end |
Instance Method Details
#grep(pattern = '') ⇒ Object
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
# File 'lib/dxdir_grep.rb', line 17 def grep(pattern='') a = @dx.sort_by_lastmodified.reverse.inject([]) do |r,x| name = x[:name] s = File.read name i = s =~ /#{pattern}/mi if i then i_start = (i - 30) > 0 ? i - 30 : 0 r << {name: name, preview: s.slice(i_start, 100)} else r end end dx = Dynarex.new json_out: false dx.import a return dx end |