dxdir_grep 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 575a8608b9c74e260e2d0608e8680e874ce67d10
4
+ data.tar.gz: c263b8d000e16635df56bef0093757985e92d004
5
+ SHA512:
6
+ metadata.gz: a7466118c78ebfee6f55edee8f1e69c5ccce589de97345e05feab5b611c7ea9b739f1775e7d892c42634d3a8390862aa85ff9cb290e2b2364573d480ea74c88f
7
+ data.tar.gz: 30fdaa091b8491d8e5cb54c40b4ac22555c4205d8429f63cc95d230a5f9dc29e4652f7fb2b77d46262d59145c2b0e978afff333de1a938f76e65e43fcf693a89
checksums.yaml.gz.sig ADDED
Binary file
data/lib/dxdir_grep.rb ADDED
@@ -0,0 +1,41 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ # file: dxdir_grep.rb
4
+
5
+ require 'dir-to-xml'
6
+
7
+
8
+ class DxDirGrep
9
+
10
+ def initialize(path:'.', ext: '.txt')
11
+
12
+ dtx = DirToXML.new path
13
+ @dx = dtx.select_by_ext(ext)
14
+
15
+ end
16
+
17
+ def grep(pattern='')
18
+
19
+ a = @dx.sort_by_lastmodified.reverse.inject([]) do |r,x|
20
+
21
+ name = x[:name]
22
+
23
+ s = File.read name
24
+ i = s =~ /#{pattern}/m
25
+
26
+
27
+ if i then
28
+ i_start = (i - 30) > 0 ? i - 30 : 0
29
+ r << {name: name, preview: s.slice(i_start, 100)}
30
+ else
31
+ r
32
+ end
33
+ end
34
+
35
+ dx = Dynarex.new json_out: false
36
+ dx.import a
37
+
38
+ return dx
39
+ end
40
+
41
+ end
data.tar.gz.sig ADDED
Binary file
metadata ADDED
@@ -0,0 +1,87 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: dxdir_grep
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - James Robertson
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain:
11
+ - |
12
+ -----BEGIN CERTIFICATE-----
13
+ MIIDljCCAn6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBIMRIwEAYDVQQDDAlnZW1t
14
+ YXN0ZXIxHjAcBgoJkiaJk/IsZAEZFg5qYW1lc3JvYmVydHNvbjESMBAGCgmSJomT
15
+ 8ixkARkWAmV1MB4XDTE2MDczMTE1MjcyNFoXDTE3MDczMTE1MjcyNFowSDESMBAG
16
+ A1UEAwwJZ2VtbWFzdGVyMR4wHAYKCZImiZPyLGQBGRYOamFtZXNyb2JlcnRzb24x
17
+ EjAQBgoJkiaJk/IsZAEZFgJldTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
18
+ ggEBAMZv9ANfkF0E1oD2FIbXJlra1uDOndlg8LJxWu5WHO3jz2F+qCYVwk3485gs
19
+ 7/NBT3XQ0+BtergjpL4Io/a31WB3RNuTDArkXgNwwaXz+zj/Z4yMKhtQvHcdcI0s
20
+ P+Ec856Qjb+P4UbeNAZXdiDV1exhjk2XqSGwvUBlXcHtNTT46qOxe+lKWjWUUYaQ
21
+ t8Acwg1ZUL3qH1GBdYdOzStkQNE2MxQeHUWo7WR4lnJuaEa4NNtLoBvvlr9aAqin
22
+ wLAMq8sIhCn74DifxxNz/dbqcjVA5alc74XjOLf+6KEXc/ZWEH4FNJ8YouA0eUWf
23
+ u4xMQdvLgM9Sh5UwVwGduXDmK6UCAwEAAaOBijCBhzAJBgNVHRMEAjAAMAsGA1Ud
24
+ DwQEAwIEsDAdBgNVHQ4EFgQUrRpDajdUhNuGINSpgVRRy5AzhTMwJgYDVR0RBB8w
25
+ HYEbZ2VtbWFzdGVyQGphbWVzcm9iZXJ0c29uLmV1MCYGA1UdEgQfMB2BG2dlbW1h
26
+ c3RlckBqYW1lc3JvYmVydHNvbi5ldTANBgkqhkiG9w0BAQUFAAOCAQEAZFGMqUFt
27
+ FIHs2nRuIpLKiVJVE3iOfIIwaBssI11BZv+yXLeupMzivCFe1NpWBmAzua6DHiTw
28
+ IBsPiv4YZnT8d4jUh6rLcPF1J4Lf6YdGO4eV5eWiVH091blPH6KON8nIOUXMwt25
29
+ fRWRQxID1LMPiFxL/09hVm3oHo5JEJzi2q+vGjUsrsd0/QatBF2cpjCIBw1xsRaR
30
+ leNTJgntLytY0UrEP35w60uiJsqpYkdPKSZTirBIEqBRPStejBJUW5sxqkwHuTIr
31
+ 0yzjDYHe2DHIruxgkPQPNdvxa6vPOYVx1jY89PlzafpwDrBhMz3ralJ8Un6t67+O
32
+ Zv+kPfAcOE3+Yg==
33
+ -----END CERTIFICATE-----
34
+ date: 2016-07-31 00:00:00.000000000 Z
35
+ dependencies:
36
+ - !ruby/object:Gem::Dependency
37
+ name: dir-to-xml
38
+ requirement: !ruby/object:Gem::Requirement
39
+ requirements:
40
+ - - "~>"
41
+ - !ruby/object:Gem::Version
42
+ version: '0.8'
43
+ - - ">="
44
+ - !ruby/object:Gem::Version
45
+ version: 0.8.1
46
+ type: :runtime
47
+ prerelease: false
48
+ version_requirements: !ruby/object:Gem::Requirement
49
+ requirements:
50
+ - - "~>"
51
+ - !ruby/object:Gem::Version
52
+ version: '0.8'
53
+ - - ">="
54
+ - !ruby/object:Gem::Version
55
+ version: 0.8.1
56
+ description:
57
+ email: james@r0bertson.co.uk
58
+ executables: []
59
+ extensions: []
60
+ extra_rdoc_files: []
61
+ files:
62
+ - lib/dxdir_grep.rb
63
+ homepage: https://github.com/jrobertson/dxdir_grep
64
+ licenses:
65
+ - MIT
66
+ metadata: {}
67
+ post_install_message:
68
+ rdoc_options: []
69
+ require_paths:
70
+ - lib
71
+ required_ruby_version: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ required_rubygems_version: !ruby/object:Gem::Requirement
77
+ requirements:
78
+ - - ">="
79
+ - !ruby/object:Gem::Version
80
+ version: '0'
81
+ requirements: []
82
+ rubyforge_project:
83
+ rubygems_version: 2.5.1
84
+ signing_key:
85
+ specification_version: 4
86
+ summary: Grep a file directory.
87
+ test_files: []
metadata.gz.sig ADDED
@@ -0,0 +1,2 @@
1
+ 4�W%&���9?u�.�b�/^�Ӥ<�|S�=�37�����V�A÷t�NbRh���g�g�T��6P!m���s�pE��w�˫�e�i���pok�2r����.��H�i%�r`X�r2��`� O-U��˶�km���@��
2
+ ����\�k�-�6�%��Y<_�̞-h�yhY�§?��yJ`�d��s��<͛Ŋ������� �z\�ѷ�]��I�D�Y��C͍F]�Kʢ}��b�/6}�81j���"�z���