keyword_finder 0.1.0 → 0.1.1

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: 29a4c1699353c42ea411fed1cdb41f1843837ca9
4
- data.tar.gz: cd21e32c7d24ba704d01093d968e2dda3a9e0a5a
3
+ metadata.gz: 2d2ffa4c856beb883fe0de8d43583d871cbd2e99
4
+ data.tar.gz: 98555a484aad026fd7a343ec8eda923b878a0625
5
5
  SHA512:
6
- metadata.gz: c6fa048442a34fd8e5d75bccf2d21cdb388c54f3fa6582e9f280b748b630aa79ae2aa1cb423dc2eee1a763198dc8c1097ff26f4bcd3ba023f2779db34f613129
7
- data.tar.gz: 52ee884cbe1cc475e09884beea43acf28a172f9c485d774153347263f38542083b70d54257da447e426dfe1e54626fe43436bc441de934c71d1683465f3c6876
6
+ metadata.gz: 9f95f4ae6718c346ea9f54edb53abb26cec97e50e354c80484136e199be4bbeae3eb72b683f439fdb8ceeabcc8f4f2d5faeda32d23a9d2ae403e361674b9b580
7
+ data.tar.gz: 0b2f0e427bce9c4ac532f995a80bf3c3a908b0d445d028ce1fc1055b524ffec4cdbcc8db0582f781a3a7760b982735fd622683fde109f17fe8e84ed01d1dcc6d
data/.gitignore CHANGED
@@ -7,3 +7,4 @@
7
7
  /pkg/
8
8
  /spec/reports/
9
9
  /tmp/
10
+ *.gem
data/README.md CHANGED
@@ -1,5 +1,7 @@
1
1
  # KeywordFinder
2
2
 
3
+ [![Build Status](https://travis-ci.org/murb/keyword_finder.svg)](https://travis-ci.org/murb/keyword_finder)
4
+
3
5
  We were dealing with the following situation:
4
6
 
5
7
  Given a set of the following keywords: "aardappelen", "zachtkokende aardappelen", "zout", "schimmelkaas", "kaas", "oude harde kaas", "kikkererwten", "maïs", "bruine bonen", "shiitake", "boter"
@@ -14,6 +14,8 @@ Gem::Specification.new do |spec|
14
14
  spec.homepage = "https://murb.nl/blog?tags=keyword_finder"
15
15
  spec.license = "MIT"
16
16
 
17
+
18
+
17
19
  spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
18
20
  spec.bindir = "exe"
19
21
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
@@ -1,7 +1,15 @@
1
1
  module KeywordFinder
2
2
  class Keywords < Array
3
+ def ordered_by_length
4
+ self.sort{|a,b| b.length <=> a.length }
5
+ end
6
+ def escape_regex_chars string
7
+ Regexp.escape(string)
8
+ end
3
9
  def to_regex
4
- @to_regex ||= Regexp.new("(#{self.collect{|a| "\\s#{a}\\s"}.join("|")})")
10
+ @to_regex ||= Regexp.new("(#{
11
+ self.ordered_by_length.collect{|a| "\\s#{self.escape_regex_chars(a)}\\s"}.join("|")
12
+ })")
5
13
  end
6
14
 
7
15
  def scan_in sentence
@@ -20,6 +28,7 @@ module KeywordFinder
20
28
  scan_results = self.scan_in(self.clean_sentence(sentence))
21
29
  scan_results.flatten!
22
30
  scan_results.uniq!
31
+ scan_results.compact!
23
32
  results = []
24
33
  scan_results.each do |result|
25
34
  results << result.strip unless result.strip.empty?
@@ -1,3 +1,3 @@
1
1
  module KeywordFinder
2
- VERSION = "0.1.0"
2
+ VERSION = "0.1.1"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: keyword_finder
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - murb
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2015-12-22 00:00:00.000000000 Z
11
+ date: 2015-12-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler