parsley-store 0.3.5 → 0.3.6
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 +4 -4
- data/.rspec +3 -0
- data/.ruby-version +1 -1
- data/CHANGELOG +1 -0
- data/README.md +8 -8
- data/lib/parsley-store.rb +13 -12
- data/lib/parsley-store/version.rb +1 -1
- data/parsley-store.gemspec +14 -14
- data/spec/parsley-store_spec.rb +16 -15
- metadata +26 -27
- data/spec/spec.opts +0 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9ac38227e8e35c3469e97afe14de0874d5b4288c
|
4
|
+
data.tar.gz: 8bc837aaa2df3676c4b949c947e7b7f7306138e5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 157eb14c752b9b94bdcdf572cb1a9e67f4c93d8b06ab8b56d7c7c7a6089c5ff4598715d815e1c7e387e7e6945202f001cfe22c795adb31959cbdfe526592993a
|
7
|
+
data.tar.gz: 63d6d11a0d6d45e59b3dbd1a321639abd8d83054ec017497e2ea80994fba9c984cd05b481618a3a2da9f86870ac9ce130f8da47da8158e99a91fba46db9ce09c
|
data/.rspec
ADDED
data/.ruby-version
CHANGED
@@ -1 +1 @@
|
|
1
|
-
2.
|
1
|
+
2.1.6
|
data/CHANGELOG
CHANGED
data/README.md
CHANGED
@@ -7,12 +7,12 @@ parsley-store
|
|
7
7
|
[![CodePolice][7]][8]
|
8
8
|
[![Dependency Status][9]][10]
|
9
9
|
|
10
|
-
This gem allows to dramatically increase speed of 'parsing' scientific names.
|
10
|
+
This gem allows to dramatically increase speed of 'parsing' scientific names.
|
11
11
|
It stores parsed strings in Redis database and does not repeat work already done
|
12
12
|
|
13
13
|
Installation
|
14
14
|
------------
|
15
|
-
|
15
|
+
|
16
16
|
Make sure you have Redis installed on your localhost
|
17
17
|
|
18
18
|
gem install parsley-store
|
@@ -42,18 +42,18 @@ Contributing
|
|
42
42
|
Copyright
|
43
43
|
---------
|
44
44
|
|
45
|
-
Authors: [Dmitry Mozzherin][11]
|
45
|
+
Authors: [Dmitry Mozzherin][11]
|
46
46
|
|
47
47
|
Copyright (c) 2010-2014 Marine Biological Laboratory. See LICENSE for details.
|
48
48
|
|
49
|
-
[1]: https://badge.fury.io/rb/parsley-store.
|
49
|
+
[1]: https://badge.fury.io/rb/parsley-store.svg
|
50
50
|
[2]: http://badge.fury.io/rb/parsley-store
|
51
|
-
[3]: https://secure.travis-ci.org/GlobalNamesArchitecture/parsley-store.
|
51
|
+
[3]: https://secure.travis-ci.org/GlobalNamesArchitecture/parsley-store.svg
|
52
52
|
[4]: http://travis-ci.org/GlobalNamesArchitecture/parsley-store
|
53
|
-
[5]: https://coveralls.io/repos/GlobalNamesArchitecture/parsley-store/badge.
|
53
|
+
[5]: https://coveralls.io/repos/GlobalNamesArchitecture/parsley-store/badge.svg?branch=master
|
54
54
|
[6]: https://coveralls.io/r/GlobalNamesArchitecture/parsley-store?branch=master
|
55
|
-
[7]: https://codeclimate.com/github/GlobalNamesArchitecture/parsley-store.
|
55
|
+
[7]: https://codeclimate.com/github/GlobalNamesArchitecture/parsley-store.svg
|
56
56
|
[8]: https://codeclimate.com/github/GlobalNamesArchitecture/parsley-store
|
57
|
-
[9]: https://gemnasium.com/GlobalNamesArchitecture/parsley-store.
|
57
|
+
[9]: https://gemnasium.com/GlobalNamesArchitecture/parsley-store.svg
|
58
58
|
[10]: https://gemnasium.com/GlobalNamesArchitecture/parsley-store
|
59
59
|
[11]: https://github.com/dimus
|
data/lib/parsley-store.rb
CHANGED
@@ -3,17 +3,18 @@ require 'biodiversity'
|
|
3
3
|
require_relative 'parsley-store/version'
|
4
4
|
|
5
5
|
if RUBY_VERSION < '1.9.1'
|
6
|
-
raise 'IMPORTANT: Parsley-store gem requires ruby >= 1.9.1'
|
6
|
+
raise 'IMPORTANT: Parsley-store gem requires ruby >= 1.9.1'
|
7
7
|
end
|
8
8
|
|
9
9
|
class ParsleyStore
|
10
10
|
#database numbers for Redis
|
11
11
|
LOCAL = 1
|
12
12
|
SLAVE = 2
|
13
|
-
|
14
|
-
def initialize(local_db = LOCAL, slave_db = SLAVE)
|
13
|
+
|
14
|
+
def initialize(local_db = LOCAL, slave_db = SLAVE, opts = {})
|
15
|
+
redis_host = opts[:redis_host] || "0.0.0.0"
|
15
16
|
@parser = ScientificNameParser.new
|
16
|
-
@local = Redis.new
|
17
|
+
@local = Redis.new(host: redis_host)
|
17
18
|
@local.select(local_db)
|
18
19
|
end
|
19
20
|
|
@@ -50,22 +51,22 @@ class ParsleyStore
|
|
50
51
|
rescue
|
51
52
|
@parser = ScientificNameParser.new
|
52
53
|
@parser.parse(@scientific_name) rescue {
|
53
|
-
scientificName: {parsed: false,
|
54
|
-
parser_version: ScientificNameParser::VERSION,
|
55
|
-
anonical: nil,
|
54
|
+
scientificName: {parsed: false,
|
55
|
+
parser_version: ScientificNameParser::VERSION,
|
56
|
+
anonical: nil,
|
56
57
|
verbatim: @scientific_name}}
|
57
58
|
end
|
58
59
|
end
|
59
60
|
|
60
61
|
def cache_parsed_data(parsed_data)
|
61
62
|
if @canonical_only
|
62
|
-
@local.hset(@scientific_name,
|
63
|
-
'parsed',
|
63
|
+
@local.hset(@scientific_name,
|
64
|
+
'parsed',
|
64
65
|
parsed_data[:scientificName][:parsed])
|
65
|
-
@local.hset(@scientific_name,
|
66
|
-
'parser_version',
|
66
|
+
@local.hset(@scientific_name,
|
67
|
+
'parser_version',
|
67
68
|
parsed_data[:scientificName][:parser_version])
|
68
|
-
@local.hset(@scientific_name,
|
69
|
+
@local.hset(@scientific_name,
|
69
70
|
'canonical', parsed_data[:scientificName][:canonical])
|
70
71
|
parsed_data[:scientificName][:canonical]
|
71
72
|
else
|
data/parsley-store.gemspec
CHANGED
@@ -1,26 +1,26 @@
|
|
1
1
|
# coding: utf-8
|
2
|
-
require File.expand_path(
|
2
|
+
require File.expand_path("../lib/parsley-store/version", __FILE__)
|
3
3
|
|
4
4
|
Gem::Specification.new do |sp|
|
5
|
-
sp.name =
|
5
|
+
sp.name = "parsley-store"
|
6
6
|
sp.version = ParsleyStore::VERSION
|
7
|
-
sp.authors = [
|
8
|
-
sp.email = [
|
7
|
+
sp.authors = ["Dmitry Mozzherin"]
|
8
|
+
sp.email = ["dmozzherin@gmail.com"]
|
9
9
|
sp.description = %q{Scientific Names Parser with Cached Results}
|
10
10
|
sp.summary = %q{Scientific names parser/atomizer with cached
|
11
11
|
distributed storage of atomized data}
|
12
|
-
sp.homepage =
|
13
|
-
sp.license =
|
12
|
+
sp.homepage = "https://github.com/GlobalNamesArchitecture/parsley-store"
|
13
|
+
sp.license = "MIT"
|
14
14
|
|
15
15
|
sp.files = `git ls-files`.split($/)
|
16
16
|
sp.test_files = sp.files.grep(%r{^(spec|features)/})
|
17
|
-
sp.require_paths = [
|
18
|
-
|
19
|
-
sp.add_runtime_dependency 'biodiversity', '~> 3.1'
|
20
|
-
sp.add_runtime_dependency 'redis', '~> 3.0'
|
17
|
+
sp.require_paths = ["lib"]
|
21
18
|
|
22
|
-
sp.
|
23
|
-
sp.
|
24
|
-
|
25
|
-
sp.add_development_dependency
|
19
|
+
sp.add_runtime_dependency "biodiversity", "~> 3.1"
|
20
|
+
sp.add_runtime_dependency "redis", "~> 3.0"
|
21
|
+
|
22
|
+
sp.add_development_dependency "rake", "~> 10.1"
|
23
|
+
sp.add_development_dependency "rspec", "~> 3.2"
|
24
|
+
sp.add_development_dependency "cucumber", "~> 2.0"
|
25
|
+
sp.add_development_dependency "coveralls", "~> 0.7"
|
26
26
|
end
|
data/spec/parsley-store_spec.rb
CHANGED
@@ -1,20 +1,21 @@
|
|
1
|
-
|
1
|
+
describe ParsleyStore do
|
2
|
+
subject { ParsleyStore.new }
|
2
3
|
|
3
|
-
describe "
|
4
|
-
|
5
|
-
p = ParsleyStore.new()
|
6
|
-
p.is_a?(ParsleyStore).should be_true
|
4
|
+
describe ".new" do
|
5
|
+
it { is_expected.to be_kind_of ParsleyStore }
|
7
6
|
end
|
8
7
|
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
8
|
+
describe "#parse"
|
9
|
+
|
10
|
+
it "parses a name" do
|
11
|
+
res = subject.parse("Betula verucosa (Linn.) Kunze")
|
12
|
+
expect(res[:scientificName][:parsed]).to be true
|
13
|
+
end
|
14
14
|
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
15
|
+
context "canonical only" do
|
16
|
+
it "returns canonical form" do
|
17
|
+
res = subject.parse("Betula alba Shipunov Kunze 1955", canonical_only: true)
|
18
|
+
expect(res).to eq "Betula alba"
|
19
|
+
end
|
20
|
+
end
|
20
21
|
end
|
metadata
CHANGED
@@ -1,97 +1,97 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: parsley-store
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Dmitry Mozzherin
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2016-04-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: biodiversity
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - ~>
|
17
|
+
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: '3.1'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- - ~>
|
24
|
+
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '3.1'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: redis
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - ~>
|
31
|
+
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: '3.0'
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- - ~>
|
38
|
+
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '3.0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: rake
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- - ~>
|
45
|
+
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
47
|
version: '10.1'
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- - ~>
|
52
|
+
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '10.1'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: rspec
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- - ~>
|
59
|
+
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: '2
|
61
|
+
version: '3.2'
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- - ~>
|
66
|
+
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version: '2
|
68
|
+
version: '3.2'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: cucumber
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
|
-
- - ~>
|
73
|
+
- - "~>"
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version: '
|
75
|
+
version: '2.0'
|
76
76
|
type: :development
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
|
-
- - ~>
|
80
|
+
- - "~>"
|
81
81
|
- !ruby/object:Gem::Version
|
82
|
-
version: '
|
82
|
+
version: '2.0'
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
84
|
name: coveralls
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
|
-
- - ~>
|
87
|
+
- - "~>"
|
88
88
|
- !ruby/object:Gem::Version
|
89
89
|
version: '0.7'
|
90
90
|
type: :development
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
|
-
- - ~>
|
94
|
+
- - "~>"
|
95
95
|
- !ruby/object:Gem::Version
|
96
96
|
version: '0.7'
|
97
97
|
description: Scientific Names Parser with Cached Results
|
@@ -101,10 +101,11 @@ executables: []
|
|
101
101
|
extensions: []
|
102
102
|
extra_rdoc_files: []
|
103
103
|
files:
|
104
|
-
- .document
|
105
|
-
- .gitignore
|
106
|
-
- .
|
107
|
-
- .
|
104
|
+
- ".document"
|
105
|
+
- ".gitignore"
|
106
|
+
- ".rspec"
|
107
|
+
- ".ruby-version"
|
108
|
+
- ".travis.yml"
|
108
109
|
- CHANGELOG
|
109
110
|
- Gemfile
|
110
111
|
- LICENSE
|
@@ -118,7 +119,6 @@ files:
|
|
118
119
|
- lib/parsley-store/version.rb
|
119
120
|
- parsley-store.gemspec
|
120
121
|
- spec/parsley-store_spec.rb
|
121
|
-
- spec/spec.opts
|
122
122
|
- spec/spec_helper.rb
|
123
123
|
homepage: https://github.com/GlobalNamesArchitecture/parsley-store
|
124
124
|
licenses:
|
@@ -130,17 +130,17 @@ require_paths:
|
|
130
130
|
- lib
|
131
131
|
required_ruby_version: !ruby/object:Gem::Requirement
|
132
132
|
requirements:
|
133
|
-
- -
|
133
|
+
- - ">="
|
134
134
|
- !ruby/object:Gem::Version
|
135
135
|
version: '0'
|
136
136
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
137
137
|
requirements:
|
138
|
-
- -
|
138
|
+
- - ">="
|
139
139
|
- !ruby/object:Gem::Version
|
140
140
|
version: '0'
|
141
141
|
requirements: []
|
142
142
|
rubyforge_project:
|
143
|
-
rubygems_version: 2.
|
143
|
+
rubygems_version: 2.2.3
|
144
144
|
signing_key:
|
145
145
|
specification_version: 4
|
146
146
|
summary: Scientific names parser/atomizer with cached distributed storage of atomized
|
@@ -151,5 +151,4 @@ test_files:
|
|
151
151
|
- features/support/env.rb
|
152
152
|
- features/support/helper.rb
|
153
153
|
- spec/parsley-store_spec.rb
|
154
|
-
- spec/spec.opts
|
155
154
|
- spec/spec_helper.rb
|
data/spec/spec.opts
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
--color
|