omah-plugin-taxonomy 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 7628693c5ed1691a321311f174c9e96feff16dbe
4
+ data.tar.gz: 6169941b5d811bdb20ac9815a2a9c49951583ee0
5
+ SHA512:
6
+ metadata.gz: de60c201564beacdbfa047c427cc4fcdb5564ca486cfad78aa1202806a751c27ba0aefe683346765447608c89c5e973363f2e7e36badf52c7c399e8aa3a1736f
7
+ data.tar.gz: d6fd79f71b9e295b8746e9133ba233cee0219e367412b1ae25faee90a9648f102526212c8d363604afaa374bd1299b9b3284b08b8d01ad55b0f598157f1c8129
Binary file
Binary file
@@ -0,0 +1,46 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ # file: omah-plugin-taxonomy.rb
4
+
5
+
6
+ class PluginException < Exception
7
+ end
8
+
9
+ class OmahPluginTaxonomy
10
+
11
+ def initialize(settings: {}, variables: {})
12
+
13
+ lookupfile = settings[:lookupfile]
14
+
15
+ unless File.exists? lookupfile then
16
+ raise PluginException, "lookup file %[lookupfile} not found"
17
+ end
18
+
19
+ dx = Dynarex.new
20
+ dx.import lookupfile
21
+ @a = dx.all
22
+
23
+ end
24
+
25
+ def on_newmessage(h)
26
+
27
+ # attempt to match a recipient address or subject keyword with with 1 or more tags
28
+
29
+ matched = @a.select do |item|
30
+
31
+ %i(from subject).detect do |x|
32
+
33
+ val = item.method(x).call
34
+ next if val.empty?
35
+
36
+ h[x] =~ Regexp.new(val)
37
+
38
+ end
39
+
40
+ end
41
+
42
+ h[:tags] = matched.inject('') {|r,x| r << x.tags}
43
+
44
+ end
45
+
46
+ end
metadata ADDED
@@ -0,0 +1,68 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: omah-plugin-taxonomy
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
+ 8ixkARkWAmV1MB4XDTE3MDUwMjE3NDEwM1oXDTE4MDUwMjE3NDEwM1owSDESMBAG
16
+ A1UEAwwJZ2VtbWFzdGVyMR4wHAYKCZImiZPyLGQBGRYOamFtZXNyb2JlcnRzb24x
17
+ EjAQBgoJkiaJk/IsZAEZFgJldTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
18
+ ggEBANgR1KCFXfqcDwYe3Kxj/BZ5EftSJm5Fret8R7MnpSlMhnrj3PU+8+sBC1h9
19
+ viGaFXSwIPJCdx83gLlXmpDtdV7k7qsPCDWIYYLlF2e+zZ1ZX+KPo0jcTeQBnoy3
20
+ OeyTPzJEjIHI8BA1nyap654xLPhC4se1mSZTV0Rhk42mX876ky93q3KvjsWWQwq0
21
+ pLeJ9rONTXzERKye1+/vl063YJrMWc17LD0E7MJY+RUdIMNBg11LVuIzGbSAIN6B
22
+ Q2CGWYAS3/x5RgKj5KUnYkppHKqk340yeFefoSM5E3rnkqT/7OyDX085OHMBc92A
23
+ CbwxPuXACCQUCun3XFNJnoKjQ20CAwEAAaOBijCBhzAJBgNVHRMEAjAAMAsGA1Ud
24
+ DwQEAwIEsDAdBgNVHQ4EFgQULSg466zux38UxCR6UTKYv3eIXxswJgYDVR0RBB8w
25
+ HYEbZ2VtbWFzdGVyQGphbWVzcm9iZXJ0c29uLmV1MCYGA1UdEgQfMB2BG2dlbW1h
26
+ c3RlckBqYW1lc3JvYmVydHNvbi5ldTANBgkqhkiG9w0BAQUFAAOCAQEALZy3TuZw
27
+ k3hP94CW3SlxNrtWU6ndknePBduzLHY4jEHk8czDte4/d3OvPW0YX9uNwqcMGEqo
28
+ BO4URpq8xHYfcAuNVwBhxrreErJTgflCvU61r77uHzyDLGf68D+2Gxz2hu1pXtjS
29
+ gfhJU1I7GuINJtZG1sKp2UvxErVdFJkIbZEYvhjsPVF733peyB/+Mkl0QNOOuirC
30
+ I2nDdwmxck4IGmmAnrFj4q/FJQP8Q7S6RRoaAYJEHGoW4ZsuKVLm3Lg7aTv2VScu
31
+ KMY1lCVvrbrmYrVgu7ojJDKT2xxjc9ClhHOcDYuLgpIK9Te5N8dffKPpGT+xy14R
32
+ GujWBdJUCTsjwg==
33
+ -----END CERTIFICATE-----
34
+ date: 2017-05-02 00:00:00.000000000 Z
35
+ dependencies: []
36
+ description:
37
+ email: james@jamesrobertson.eu
38
+ executables: []
39
+ extensions: []
40
+ extra_rdoc_files: []
41
+ files:
42
+ - lib/omah-plugin-taxonomy.rb
43
+ homepage: https://github.com/jrobertson/omah-plugin-taxonomy
44
+ licenses:
45
+ - MIT
46
+ metadata: {}
47
+ post_install_message:
48
+ rdoc_options: []
49
+ require_paths:
50
+ - lib
51
+ required_ruby_version: !ruby/object:Gem::Requirement
52
+ requirements:
53
+ - - ">="
54
+ - !ruby/object:Gem::Version
55
+ version: '0'
56
+ required_rubygems_version: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - ">="
59
+ - !ruby/object:Gem::Version
60
+ version: '0'
61
+ requirements: []
62
+ rubyforge_project:
63
+ rubygems_version: 2.6.8
64
+ signing_key:
65
+ specification_version: 4
66
+ summary: An OMAH plugin to tag email messages by matching known recipients or by subject
67
+ keyword matching.
68
+ test_files: []
@@ -0,0 +1,3 @@
1
+ ��^q��kF�c�h�'f�(XcQˁ]���9��Q��� �am�v�x��7f��1Q�j�ss��n�S�ߎ�W��э�e�a�ǜq�j�͞�{�u8ش�y5$�Us���ʬ�=���3�~:(Xxmp^���6DZQ���\
2
+ dό������� |�"��D�@� �p�\��.�iM�y�e��-��^���i'k� v[M �eZ�z V]>���6ys���v< bo����s-~�+L&�
3
+ a���}/�T7t�~�!