dxdir_grep 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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���