mesh-medical-subject-headings 1.2.1 → 1.2.2

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: 82ad36f2c8fee0c670559cd288cbc4b919ef678f
4
- data.tar.gz: 7606787a0e04e374231074fe3351fa2da2e709f6
3
+ metadata.gz: ebe0318253b106903a11e4084cd1e457e136766e
4
+ data.tar.gz: d60d3d541858a7dfffa11f4fa96e8e373665e631
5
5
  SHA512:
6
- metadata.gz: e024eaadc34650727726d316e054c0b96cccb0c0f5b85384124582531e505075dbbcf603d0620d0f07a1328c3abb78490ac28f0336820547bda29da011f52c2b
7
- data.tar.gz: 6d2942c939bac0cad0db958980d79697849acbcf001d51b6ff1a5d484980edf30e95e07fad3442323b8a130f9ec596cd95127b63466ffeb3054393f0ff0ac49b
6
+ metadata.gz: b6ed7232863986263b34bbed703da3f3dba58bda02b68a514af772f847f425b43ea25d757264bc6ee0363edcc33f061262f406defb3b4cd98e4b986da4fdf067
7
+ data.tar.gz: 7f99f960a64fd84595f1c46076b588c590fb33689464449e8a176888db4ca91a309c356f98f2f443850d94e8e7812cbc07fd2feee1853fd3e83056f071b291b8
data/CHANGELOG.md CHANGED
@@ -1,3 +1,6 @@
1
+ #1.2.2 / 2014-03-05
2
+ * [FEATURE] Optimised match_in_text to find headings much, much faster
3
+
1
4
  # 1.2.1 / 2014-03-04
2
5
  * [BUGFIX] Fix text matching to only use 'useful' headings
3
6
 
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- mesh-medical-subject-headings (1.2.1)
4
+ mesh-medical-subject-headings (1.2.2)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
@@ -11,6 +11,7 @@ GEM
11
11
  mocha (1.0.0)
12
12
  metaclass (~> 0.0.1)
13
13
  rake (10.1.1)
14
+ ruby-prof (0.14.2)
14
15
  yard (0.8.7.3)
15
16
 
16
17
  PLATFORMS
@@ -22,4 +23,5 @@ DEPENDENCIES
22
23
  minitest (~> 5.0.8)
23
24
  mocha
24
25
  rake
26
+ ruby-prof
25
27
  yard
data/MESH.gemspec CHANGED
@@ -23,4 +23,5 @@ Gem::Specification.new do |spec|
23
23
  spec.add_development_dependency "mocha"
24
24
  spec.add_development_dependency "yard"
25
25
  spec.add_development_dependency "minitest", "~> 5.0.8"
26
+ spec.add_development_dependency "ruby-prof"
26
27
  end
data/lib/MESH/mesh.rb CHANGED
@@ -118,17 +118,16 @@ module MESH
118
118
  end
119
119
 
120
120
  def self.match_in_text(text)
121
- matches = []
122
121
  text = text.downcase
122
+ matches = []
123
123
  @@headings.each do |heading|
124
124
  next unless heading.useful
125
125
  heading.entries.each do |entry|
126
- entry = entry.downcase
127
- start = /^#{Regexp.quote(entry)}\W+/
128
- middle = /\W+#{Regexp.quote(entry)}\W+/
129
- at_end = /\W+#{Regexp.quote(entry)}$/
130
- if start.match(text) || middle.match(text) || at_end.match(text)
131
- matches << {heading: heading, matched: entry}
126
+ if text.include? entry.downcase #This is a looser check than the regex but much, much faster
127
+ regex = /(^|\W)#{Regexp.quote(entry)}(\W|$)/i
128
+ if regex =~ text
129
+ matches << {heading: heading, matched: entry}
130
+ end
132
131
  end
133
132
  end
134
133
  end
data/lib/MESH/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Mesh
2
- VERSION = "1.2.1"
2
+ VERSION = "1.2.2"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mesh-medical-subject-headings
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.1
4
+ version: 1.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - mmmmmrob
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-03-04 00:00:00.000000000 Z
11
+ date: 2014-03-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -80,6 +80,20 @@ dependencies:
80
80
  - - ~>
81
81
  - !ruby/object:Gem::Version
82
82
  version: 5.0.8
83
+ - !ruby/object:Gem::Dependency
84
+ name: ruby-prof
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - '>='
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - '>='
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
83
97
  description: A ruby gem containing MeSH subject headings (https://www.nlm.nih.gov/mesh/)
84
98
  for use in classifying and entity recognition.
85
99
  email: