liveblog-indexer 0.2.3 → 0.2.4

Sign up to get free protection for your applications and to get access to all the features.
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