liveblog-indexer 0.2.3 → 0.2.4

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 7de1c9e8eede6cb824394c6d432b628bcd647b3a
4
- data.tar.gz: bfe574910987cabb4ff7578fb3a55e18e030b0ba
3
+ metadata.gz: a92d4df66d166954f93ac560329fc5f6cb735ef0
4
+ data.tar.gz: 50c584810fb0fd5c40b1c0cfd6dd64525cc29921
5
5
  SHA512:
6
- metadata.gz: a7268e7d5de4f78866ac270173f44d1fb60ab35dea07f198f703afded26440f6fd7a693464cc7e553260b8b62ae982c1937a1a9ae00d5d444a557ecce80a9900
7
- data.tar.gz: ecc5976f30fb8d0be5413e7a989ed4d92e0575a94f251b1c319cb0ba88cae60a1e5eb3c3a19a7b868699c80e0d44b0b4eeda3f0c13e6a5996fa2c90c1e47484b
6
+ metadata.gz: 837354c1938492d6148f42ab1e7cb0499b1ab59129c71145755fc118adff10ccfebb609b66644fa72e2d23cac02fa85e140016d70ceea20504a970eb844e8a7a
7
+ data.tar.gz: 50fdb5eebb4938eb5c87da949403ff79a0bddc9f0911dd9ee1d4d8c26b3527f5802094cd0221e6e6e62b6d41c931c1e563be943f0836c77d0f7714cc686b36a4
checksums.yaml.gz.sig CHANGED
Binary file
@@ -78,7 +78,11 @@ class LiveBlogIndexer
78
78
  save @wordindex_filepath
79
79
  File.write File.join(@filepath, @urls_index_filepath), @url_index.to_json
80
80
 
81
- end
81
+ end
82
+
83
+ def inspect()
84
+ "#<LiveBlogIndexer:#{self.object_id}>"
85
+ end
82
86
 
83
87
  def save(filename='wordindex.json')
84
88
 
@@ -87,6 +91,46 @@ class LiveBlogIndexer
87
91
 
88
92
  end
89
93
 
94
+ # search the word_index file with a keyword e.g. hdmi
95
+ # results are sorted by exact match with a hashtag, exact keyword match,
96
+ # followed by words which contain the keyword e.g. micro-hdmi
97
+ #
98
+ # links for each result are sorted by date
99
+ #
100
+ def search(keyword)
101
+
102
+ def add_links(a)
103
+
104
+ a.sort_by do |uri|
105
+
106
+ string = uri[/^\/liveblog\/(\d{4}\/\w{3}\/\d+)/,1].gsub('/','')
107
+ Date.strptime(string, "%Y%b%d")
108
+
109
+ end.reverse
110
+
111
+ end
112
+
113
+ h = @master
114
+ grepped = h.keys.grep /#{keyword}/i
115
+ # e.g. => ["hdmi=safe", "hdmi", "micro-hdmi", "#hdmi"]
116
+
117
+ # sort results by importance
118
+ r = []
119
+
120
+ # hashtag should be first
121
+ key = grepped.delete '#' + keyword
122
+ r.concat add_links(h[key].keys) if key
123
+
124
+ # the word on its own
125
+ key = grepped.delete keyword
126
+ r.concat add_links(h[key].keys) if key
127
+
128
+ r.concat grepped.map {|x| add_links(h[x].keys)}
129
+
130
+ return r.uniq
131
+
132
+ end
133
+
90
134
  private
91
135
 
92
136
  def index_file(location)
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: liveblog-indexer
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.3
4
+ version: 0.2.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Robertson
@@ -12,26 +12,26 @@ cert_chain:
12
12
  -----BEGIN CERTIFICATE-----
13
13
  MIIDljCCAn6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBIMRIwEAYDVQQDDAlnZW1t
14
14
  YXN0ZXIxHjAcBgoJkiaJk/IsZAEZFg5qYW1lc3JvYmVydHNvbjESMBAGCgmSJomT
15
- 8ixkARkWAmV1MB4XDTE1MTExMjIxMTkyMVoXDTE2MTExMTIxMTkyMVowSDESMBAG
15
+ 8ixkARkWAmV1MB4XDTE3MDEyODE1MDc1NVoXDTE4MDEyODE1MDc1NVowSDESMBAG
16
16
  A1UEAwwJZ2VtbWFzdGVyMR4wHAYKCZImiZPyLGQBGRYOamFtZXNyb2JlcnRzb24x
17
17
  EjAQBgoJkiaJk/IsZAEZFgJldTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
18
- ggEBAMjQ3f/YG2mPM5EMmrUlk2/+K3hOdZCCNIsuVYmfDaSVJO7T2A1hGDpp6qw2
19
- NDCOLKXJ8B8MkIuSTZlsqIcM52RtZDLtjuFQvxlDysHjQdS89ab9NXSH+FtjEsnl
20
- MAw+HB1na9+esmUfORTq3Qvf8/NVanJ0jpO78zZhHoIcH6/ZNxLGXEXhxCA3SSL/
21
- RUwnF2ds4EmYjpYAF4DrtT7uRP80sOa5JDO9HWRIsJH70uZu/YNkzgD4qw9mssUW
22
- yCDOOPPBXu1ZyCTYlkb8REMoZHCbIDASY/fJHmB+lfwI7WR10NauCNdru+d5L6db
23
- lZ2+imBz1/JaibgbzwtUTkXbw8ECAwEAAaOBijCBhzAJBgNVHRMEAjAAMAsGA1Ud
24
- DwQEAwIEsDAdBgNVHQ4EFgQUDiC6KdE35bCvxp4kHsAfxpJz4dEwJgYDVR0RBB8w
18
+ ggEBAJ0Vk53YC+Fa1U05NC3EgMLSPcT6KwxO2N7hY23L6y5wZiPXuQ5AQq3PDaPW
19
+ VkoZngnKzeSMeuFCK/mbGdW77Ll+cuM9vZ8xtlk5eKyybIMznFOt0mWX/wIFzV1V
20
+ XD+TTMC6jR5hYQib0zqev9hAcHqXEVoPhhR6avEGDrFheaopqObyCJ4rztFyYz/Q
21
+ tgHsQE9g6D9SwLeUc5x5XecQT9T13NpUuGEjcPp07XyytHWhgbeeDFIWz+xCZ7rK
22
+ 9s/8kF7QmNgiQ0D8Ar91RiKcnW8hP+QtJJf94+e42doSDpdc3HRVc7b6nu8ySf6I
23
+ gHpSHJnGrVy207f0xETgHEiT2BsCAwEAAaOBijCBhzAJBgNVHRMEAjAAMAsGA1Ud
24
+ DwQEAwIEsDAdBgNVHQ4EFgQUXOeNAxMEMjYVvQTTKraToom4zFMwJgYDVR0RBB8w
25
25
  HYEbZ2VtbWFzdGVyQGphbWVzcm9iZXJ0c29uLmV1MCYGA1UdEgQfMB2BG2dlbW1h
26
- c3RlckBqYW1lc3JvYmVydHNvbi5ldTANBgkqhkiG9w0BAQUFAAOCAQEAh7gf6A0R
27
- 5MN6ar8lV6/5ONlT9aljXGddCasCyC0pM94TIjH/2QblBWRodcb/oTGcnf28s9Zs
28
- zBbBfl+YNUAS/y2a3Qj8/xgCC003tXgSuvXzrMlQ/o+2gDuLuGEkId8ceUXfUuXf
29
- F4uMWpNiNk1Wt41dDGTzn9oCPt7Ssau3MqfiI5Lyl4lFQNqI+NlnsSkuJ3Fj7yOy
30
- f1v1HUEOKUabrwhEuev8u1qZh+K4wUcsEkcvI06xLgObh2dbV2lW1Z0cOF7X8hWQ
31
- mOnsi2V1CXpq2biJtSgD7mBx4cO9FXgbK3Xnsv45ygAPo6jj4Eb34udqz+0v88Ys
32
- KoTqNQOniHAW2w==
26
+ c3RlckBqYW1lc3JvYmVydHNvbi5ldTANBgkqhkiG9w0BAQUFAAOCAQEAldEnB3++
27
+ mNVko+TlHWAvP4qMvUa8MKGdNlbT/feeIPhNlHwcEW8opfKddOThEJcSaaxzNT9G
28
+ R7rh6J7cJXJNP0fMkN5weeDtp5W8KiYOFe/8o0YSsZIK2si26eERfETJvyAtrqsY
29
+ G29fPrEa+npsJpIZwgBUlsUHqyKeVHlBV5gX4IOsSRntocf/79KSdQbkf5WsPLvI
30
+ Vt7jbph3Nm21B5W85Xuo6F7wzo5dWRBertqz+CeTrWZXPtEL4EumEcqKZtjcl7L5
31
+ tobBQiI6ycwSA8Q7pjIepwhlVwJtTQO6KUI/GSDjtZ/EPgdLhApM2DtZpmNUuoUZ
32
+ aFRT5hgDm8JiKQ==
33
33
  -----END CERTIFICATE-----
34
- date: 2016-05-04 00:00:00.000000000 Z
34
+ date: 2017-01-28 00:00:00.000000000 Z
35
35
  dependencies:
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: xws
@@ -74,7 +74,7 @@ dependencies:
74
74
  - !ruby/object:Gem::Version
75
75
  version: 0.2.3
76
76
  description:
77
- email: james@r0bertson.co.uk
77
+ email: james@jamesrobertson.eu
78
78
  executables: []
79
79
  extensions: []
80
80
  extra_rdoc_files: []
@@ -100,7 +100,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
100
100
  version: '0'
101
101
  requirements: []
102
102
  rubyforge_project:
103
- rubygems_version: 2.4.8
103
+ rubygems_version: 2.6.8
104
104
  signing_key:
105
105
  specification_version: 4
106
106
  summary: This gem is under development. Generates a Liveblog indexed file in JSON
metadata.gz.sig CHANGED
Binary file