bolognese 0.9.7 → 0.9.8

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: a1d9173be073023c912d3d2a912fda4d255d7d69
4
- data.tar.gz: a38086bc705ab16472df35e2950f1139ec5416a2
3
+ metadata.gz: c1b985adff56f14d917d1c48050d65eec47551de
4
+ data.tar.gz: 7446270f653147667df838080d6cbc6a0f7c1f74
5
5
  SHA512:
6
- metadata.gz: a594ce7e95bcfd9f80bd09869b2b4fc7b0b3de2581f05e04a0c63f2fce0dd23e0c4538c17c2637fffb3aec60ce89bc2d87d30fd63ba2e358b7c7c307df816ad9
7
- data.tar.gz: 9c903574125858d6c2cb80de55f22167ffbb86d428e541d1a464a4771e8bfb9352cecd45d34cfde4c93f63e289936e59e94c832d3ef0756e830233562bf4ad1b
6
+ metadata.gz: bcbdc7a013ef6eb803ec23e104e7c863b6aa5b306b71f1cd6186853c34a3c27f4a1467f015c95aa02db40d802a682a0ed8f7b6959bca0660d7f7440208231e90
7
+ data.tar.gz: e7b78a15cee66bff01a31a9ee937ff4858096c32336c354170091b22cb123bf7fbe6bada8e4f03aff3fc7b714c7ad4a56a33d1ad27705ab5b360bae51b582d3d
@@ -1,12 +1,13 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- bolognese (0.9.7)
4
+ bolognese (0.9.8)
5
5
  activesupport (>= 4.2.5, < 6)
6
6
  benchmark_methods (~> 0.7)
7
7
  bibtex-ruby (~> 4.1)
8
8
  builder (~> 3.2, >= 3.2.2)
9
9
  colorize (~> 0.8.1)
10
+ gender_detector (~> 0.1.2)
10
11
  json-ld (~> 2.1, >= 2.1.2)
11
12
  jsonlint (~> 0.2.0)
12
13
  loofah (~> 2.0, >= 2.0.3)
@@ -50,6 +51,8 @@ GEM
50
51
  faraday
51
52
  faraday_middleware (0.10.1)
52
53
  faraday (>= 0.7.4, < 1.0)
54
+ gender_detector (0.1.2)
55
+ unicode_utils (>= 1.3.0)
53
56
  haml (4.0.7)
54
57
  tilt
55
58
  hamster (3.0.0)
@@ -149,6 +152,7 @@ GEM
149
152
  tzinfo (1.2.3)
150
153
  thread_safe (~> 0.1)
151
154
  unicode (0.4.4.4)
155
+ unicode_utils (1.4.0)
152
156
  vcr (3.0.3)
153
157
  webmock (1.24.6)
154
158
  addressable (>= 2.3.6)
@@ -30,6 +30,7 @@ Gem::Specification.new do |s|
30
30
  s.add_dependency 'rdf-turtle', '~> 2.2'
31
31
  s.add_dependency 'rdf-rdfxml', '~> 2.0'
32
32
  s.add_dependency 'benchmark_methods', '~> 0.7'
33
+ s.add_dependency 'gender_detector', '~> 0.1.2'
33
34
  s.add_development_dependency 'bundler', '~> 1.0'
34
35
  s.add_development_dependency 'rspec', '~> 3.4'
35
36
  s.add_development_dependency 'rspec-xsd', '~> 0.1.0'
@@ -11,6 +11,7 @@ require 'rdf/rdfxml'
11
11
  require 'logger'
12
12
  require 'jsonlint'
13
13
  require 'benchmark_methods'
14
+ require 'gender_detector'
14
15
 
15
16
  require "bolognese/version"
16
17
  require "bolognese/metadata"
@@ -53,12 +53,9 @@ module Bolognese
53
53
  return false if author.fetch("type", "").downcase == "organization"
54
54
  return true if author.fetch("id", "").start_with?("http://orcid.org") ||
55
55
  author.fetch("familyName", "").present? ||
56
- author.fetch("name", "").include?(",") &&
57
- author.fetch("name", "").exclude?(";")
58
-
59
- # lookup given name if NameDetector gem is loaded (needs caching)
60
- ::NameDetector.name_exists?(author.split.first) if defined? ::NameDetector
61
-
56
+ (author.fetch("name", "").include?(",") &&
57
+ author.fetch("name", "").exclude?(";")) ||
58
+ name_detector.name_exists?(author.fetch("name", "").split(" ").first)
62
59
  false
63
60
  end
64
61
 
@@ -25,7 +25,13 @@ module Bolognese
25
25
  :is_referenced_by, :references, :is_documented_by, :documents,
26
26
  :is_compiled_by, :compiles, :is_variant_form_of, :is_original_form_of,
27
27
  :is_reviewed_by, :reviews, :is_derived_from, :is_source_of, :format,
28
- :related_identifier, :reverse, :citeproc_type, :ris_type, :volume, :issue
28
+ :related_identifier, :reverse, :citeproc_type, :ris_type, :volume, :issue,
29
+ :name_detector
30
+
31
+ # recognize given name. Can be loaded once as ::NameDetector, e.g. in a Rails initializer
32
+ def name_detector
33
+ @name_detector ||= defined?(::NameDetector) ? ::NameDetector : GenderDetector.new
34
+ end
29
35
 
30
36
  def publication_year
31
37
  date_published && date_published[0..3]
@@ -1,3 +1,3 @@
1
1
  module Bolognese
2
- VERSION = "0.9.7"
2
+ VERSION = "0.9.8"
3
3
  end
@@ -26,8 +26,13 @@ describe Bolognese::Crossref, vcr: true do
26
26
  expect(subject.is_personal_name?(author)).to be true
27
27
  end
28
28
 
29
- it "has no info" do
29
+ it "has known given name" do
30
30
  author = {"name"=>"Martin Fenner" }
31
+ expect(subject.is_personal_name?(author)).to be true
32
+ end
33
+
34
+ it "has no info" do
35
+ author = {"name"=>"M Fenner" }
31
36
  expect(subject.is_personal_name?(author)).to be false
32
37
  end
33
38
  end
@@ -51,7 +56,15 @@ describe Bolognese::Crossref, vcr: true do
51
56
  id = "https://doi.org/10.5281/ZENODO.48440"
52
57
  subject = Bolognese::Datacite.new(id: id)
53
58
  response = subject.get_one_author(subject.metadata.dig("creators", "creator"))
54
- expect(response).to eq("name"=>"Kristian Garza")
59
+ expect(response).to eq("type"=>"Person", "name"=>"Kristian Garza", "givenName"=>"Kristian", "familyName"=>"Garza")
60
+ end
61
+
62
+ it "has multiple names in display-order" do
63
+ id = "https://doi.org/10.6084/M9.FIGSHARE.3479141 "
64
+ subject = Bolognese::Datacite.new(id: id)
65
+ response = subject.get_authors(subject.metadata.dig("creators", "creator"))
66
+ expect(response.count).to eq(9)
67
+ expect(response.last).to eq("type"=>"Person", "name"=>"Ed Pentz", "givenName"=>"Ed", "familyName"=>"Pentz")
55
68
  end
56
69
 
57
70
  it "has name in display-order with ORCID" do
@@ -71,7 +71,7 @@ describe Bolognese::Datacite, vcr: true do
71
71
  expect(subject.type).to eq("SoftwareSourceCode")
72
72
  expect(subject.additional_type).to eq("Software")
73
73
  expect(subject.resource_type_general).to eq("Software")
74
- expect(subject.author).to eq("name" => "Kristian Garza")
74
+ expect(subject.author).to eq("type"=>"Person", "name"=>"Kristian Garza", "givenName"=>"Kristian", "familyName"=>"Garza")
75
75
  expect(subject.title).to eq("Analysis Tools for Crossover Experiment of UI using Choice Architecture")
76
76
  expect(subject.description["text"]).to start_with("This tools are used to analyse the data produced by the Crosssover Experiment")
77
77
  expect(subject.license).to eq([{"url"=>"info:eu-repo/semantics/openAccess", "name"=>"Open Access"}, {"url"=>"https://creativecommons.org/licenses/by-nc-sa/4.0/", "name"=>"Creative Commons Attribution-NonCommercial-ShareAlike"}])
@@ -0,0 +1,38 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://search.datacite.org/api?fl=doi,xml,media,minted,updated&q=doi:10.6084/m9.figshare.3479141%20&wt=json
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - Maremma - https://github.com/datacite/maremma
12
+ Accept:
13
+ - text/html,application/json,application/xml;q=0.9, text/plain;q=0.8,image/png,*/*;q=0.5
14
+ response:
15
+ status:
16
+ code: 200
17
+ message: ''
18
+ headers:
19
+ Access-Control-Allow-Methods:
20
+ - GET, POST, OPTIONS
21
+ Access-Control-Allow-Origin:
22
+ - "*"
23
+ Content-Type:
24
+ - application/json;charset=UTF-8
25
+ Date:
26
+ - Tue, 25 Apr 2017 05:16:49 GMT
27
+ Server:
28
+ - openresty/1.11.2.2
29
+ Connection:
30
+ - keep-alive
31
+ body:
32
+ encoding: UTF-8
33
+ string: '{"responseHeader":{"status":0,"QTime":1},"response":{"numFound":1,"start":0,"docs":[{"xml":"PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHJlc291cmNlIHhtbG5zPSJodHRwOi8vZGF0YWNpdGUub3JnL3NjaGVtYS9rZXJuZWwtMyIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeHNpOnNjaGVtYUxvY2F0aW9uPSJodHRwOi8vZGF0YWNpdGUub3JnL3NjaGVtYS9rZXJuZWwtMyBodHRwOi8vc2NoZW1hLmRhdGFjaXRlLm9yZy9tZXRhL2tlcm5lbC0zL21ldGFkYXRhLnhzZCI+PGlkZW50aWZpZXIgaWRlbnRpZmllclR5cGU9IkRPSSI+MTAuNjA4NC9NOS5GSUdTSEFSRS4zNDc5MTQxPC9pZGVudGlmaWVyPjxjcmVhdG9ycz48Y3JlYXRvcj48Y3JlYXRvck5hbWU+VG9tIERlbWVyYW52aWxsZTwvY3JlYXRvck5hbWU+PG5hbWVJZGVudGlmaWVyIG5hbWVJZGVudGlmaWVyU2NoZW1lPSJPUkNJRCIgc2NoZW1lVVJJPSJodHRwOi8vb3JjaWQub3JnIj4wMDAwLTAwMDMtMDkwMi00Mzg2PC9uYW1lSWRlbnRpZmllcj48L2NyZWF0b3I+PGNyZWF0b3I+PGNyZWF0b3JOYW1lPkpvc2ggQnJvd248L2NyZWF0b3JOYW1lPjxuYW1lSWRlbnRpZmllciBuYW1lSWRlbnRpZmllclNjaGVtZT0iT1JDSUQiIHNjaGVtZVVSST0iaHR0cDovL29yY2lkLm9yZyI+MDAwMC0wMDAyLTg2ODktNDkzNTwvbmFtZUlkZW50aWZpZXI+PC9jcmVhdG9yPjxjcmVhdG9yPjxjcmVhdG9yTmFtZT5NYXJ0aW4gRmVubmVyPC9jcmVhdG9yTmFtZT48bmFtZUlkZW50aWZpZXIgbmFtZUlkZW50aWZpZXJTY2hlbWU9Ik9SQ0lEIiBzY2hlbWVVUkk9Imh0dHA6Ly9vcmNpZC5vcmciPjAwMDAtMDAwMy0xNDE5LTI0MDU8L25hbWVJZGVudGlmaWVyPjwvY3JlYXRvcj48Y3JlYXRvcj48Y3JlYXRvck5hbWU+UGF0cmljaWEgQ3J1c2U8L2NyZWF0b3JOYW1lPjwvY3JlYXRvcj48Y3JlYXRvcj48Y3JlYXRvck5hbWU+TGF1cmUgSGFhazwvY3JlYXRvck5hbWU+PC9jcmVhdG9yPjxjcmVhdG9yPjxjcmVhdG9yTmFtZT5MYXVyYSBQYWdsaW9uZTwvY3JlYXRvck5hbWU+PC9jcmVhdG9yPjxjcmVhdG9yPjxjcmVhdG9yTmFtZT5HZW9mZnJleSBCaWxkZXI8L2NyZWF0b3JOYW1lPjwvY3JlYXRvcj48Y3JlYXRvcj48Y3JlYXRvck5hbWU+SmVubmlmZXIgTGluPC9jcmVhdG9yTmFtZT48L2NyZWF0b3I+PGNyZWF0b3I+PGNyZWF0b3JOYW1lPkVkIFBlbnR6PC9jcmVhdG9yTmFtZT48L2NyZWF0b3I+PC9jcmVhdG9ycz48dGl0bGVzPjx0aXRsZT5PcmdhbmlzYXRpb24gSWRlbnRpZmllcnMgLSBNaW5pbXVtIHZpYWJsZSBwcm9kdWN0IHJlcXVpcmVtZW50czwvdGl0bGU+PC90aXRsZXM+PGRlc2NyaXB0aW9ucz48ZGVzY3JpcHRpb24gZGVzY3JpcHRpb25UeXBlPSJBYnN0cmFjdCI+Jmx0O3AmZ3Q7VGhpcyBkb2N1bWVudCBzZXRzIG91dCBhIG51bWJlciBvZiB1c2UgY2FzZXMgZm9yIG9yZ2FuaXNhdGlvbmFsIGlkZW50aWZpZXJzLCBmcm9tIHRoZSBwZXJzcGVjdGl2ZSBvZiB0aHJlZSBQSUQgcHJvdmlkZXJzIHRoYXQgYXJlIGFsc28g4oCYY29uc3VtZXJz4oCZIG9mIG9yZ2FuaXNhdGlvbiBpZGVudGlmaWVyczogQ3Jvc3NyZWYsIERhdGFDaXRlIGFuZCBPUkNJRC4gVGhlIGRvY3VtZW50IGRyYXdzIHRvZ2V0aGVyIHRoZSBwcm9kdWN0cyBvZiBzZXZlcmFsIHN0dWRpZXMsIHdvcmtpbmcgZ3JvdXBzIGFuZCByZXBvcnRzIG9uIHRoZSB0b3BpYyBvZiBvcmdhbmlzYXRpb24gaWRlbnRpZmllcnMuIMKgSXQgc3VtbWFyaXNlcyB0aGUga2V5IG9ic2VydmF0aW9ucyBhbmQgcmVjb21tZW5kYXRpb25zIGZyb20gdGhlc2UgcmVwb3J0cyBhbmQgY29tYmluZXMgdGhlbSBpbnRvIGEgc2luZ2xlIGxpc3Qgb2YgdG9wIGxldmVsIHJlcXVpcmVtZW50cyBmb3IgYSDigJhtaW5pbXVtIHZpYWJsZSBwcm9kdWN04oCZIHRvIGFkZHJlc3MgdGhlIGRlZmluZWQgbmVlZHMgb2YgdGhlIHNjaG9sYXJseSBjb21tdW5pY2F0aW9ucyBhbmQgcmVsYXRlZCBjb21tdW5pdGllcyBmb3Igb3JnYW5pc2F0aW9uIGlkZW50aWZpZXJzLiZsdDsvcCZndDsmbHQ7ZGl2Jmd0OyZsdDticiZndDsmbHQ7L2RpdiZndDs8L2Rlc2NyaXB0aW9uPjwvZGVzY3JpcHRpb25zPjxzdWJqZWN0cz48c3ViamVjdCBzY2hlbWVVUkk9Imh0dHA6Ly93d3cuYWJzLmdvdi5hdS9hdXNzdGF0cy9hYnNALm5zZi8wLzZCQjQyN0FCOTY5NkMyMjVDQTI1NzQxODAwMDQ0NjNFIiBzdWJqZWN0U2NoZW1lPSJGT1IiPjgwNjEyIEludGVyb3JnYW5pc2F0aW9uYWwgSW5mb3JtYXRpb24gU3lzdGVtcyBhbmQgV2ViIFNlcnZpY2VzPC9zdWJqZWN0Pjwvc3ViamVjdHM+PHB1Ymxpc2hlcj5GaWdzaGFyZTwvcHVibGlzaGVyPjxwdWJsaWNhdGlvblllYXI+MjAxNjwvcHVibGljYXRpb25ZZWFyPjxkYXRlcz48ZGF0ZSBkYXRlVHlwZT0iQ3JlYXRlZCI+MjAxNi0wNy0xMTwvZGF0ZT48ZGF0ZSBkYXRlVHlwZT0iVXBkYXRlZCI+MjAxNi0wNy0xMTwvZGF0ZT48L2RhdGVzPjxyZXNvdXJjZVR5cGUgcmVzb3VyY2VUeXBlR2VuZXJhbD0iRGF0YXNldCI+RGF0YXNldDwvcmVzb3VyY2VUeXBlPjxzaXplcz48c2l6ZT4zNzEwOTkgQnl0ZXM8L3NpemU+PC9zaXplcz48cmlnaHRzTGlzdD48cmlnaHRzIHJpZ2h0c1VSST0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbGljZW5zZXMvYnkvMy4wL3VzLyI+Q0MtQlk8L3JpZ2h0cz48L3JpZ2h0c0xpc3Q+PC9yZXNvdXJjZT4=","minted":"2016-07-11T10:40:48Z","updated":"2016-07-11T10:45:29Z","doi":"10.6084/M9.FIGSHARE.3479141"}]}}
34
+
35
+ '
36
+ http_version:
37
+ recorded_at: Tue, 25 Apr 2017 05:16:49 GMT
38
+ recorded_with: VCR 3.0.3
@@ -0,0 +1,144 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://www.crossref.org/openurl/?format=unixref&id=doi:10.1101/097196&noredirect=true&pid=tech@datacite.org
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - Maremma - https://github.com/datacite/maremma
12
+ Accept:
13
+ - text/xml
14
+ response:
15
+ status:
16
+ code: 200
17
+ message: ''
18
+ headers:
19
+ Server:
20
+ - Apache-Coyote/1.1
21
+ Crossref-Deployment-Name:
22
+ - cr6-1
23
+ Content-Type:
24
+ - text/xml;charset=UTF-8
25
+ Content-Language:
26
+ - en-US
27
+ Date:
28
+ - Tue, 25 Apr 2017 05:32:30 GMT
29
+ Connection:
30
+ - close
31
+ body:
32
+ encoding: ASCII-8BIT
33
+ string: !binary |-
34
+ PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPGRvaV9y
35
+ ZWNvcmRzPg0KICA8ZG9pX3JlY29yZCBvd25lcj0iMTAuMTEwMSIgdGltZXN0
36
+ YW1wPSIyMDE2LTEyLTI5IDAxOjEwOjIwIj4NCiAgICA8Y3Jvc3NyZWY+DQog
37
+ ICAgICA8cG9zdGVkX2NvbnRlbnQgdHlwZT0icHJlcHJpbnQiIGxhbmd1YWdl
38
+ PSJlbiIgbWV0YWRhdGFfZGlzdHJpYnV0aW9uX29wdHM9ImFueSI+DQogICAg
39
+ ICAgIDxncm91cF90aXRsZT5TY2llbnRpZmljIENvbW11bmljYXRpb24gYW5k
40
+ IEVkdWNhdGlvbjwvZ3JvdXBfdGl0bGU+DQogICAgICAgIDxjb250cmlidXRv
41
+ cnM+DQogICAgICAgICAgPHBlcnNvbl9uYW1lIGNvbnRyaWJ1dG9yX3JvbGU9
42
+ ImF1dGhvciIgc2VxdWVuY2U9ImZpcnN0Ij4NCiAgICAgICAgICAgIDxnaXZl
43
+ bl9uYW1lPk1hcnRpbjwvZ2l2ZW5fbmFtZT4NCiAgICAgICAgICAgIDxzdXJu
44
+ YW1lPkZlbm5lcjwvc3VybmFtZT4NCiAgICAgICAgICAgIDxPUkNJRD5odHRw
45
+ Oi8vb3JjaWQub3JnLzAwMDAtMDAwMy0xNDE5LTI0MDU8L09SQ0lEPg0KICAg
46
+ ICAgICAgIDwvcGVyc29uX25hbWU+DQogICAgICAgICAgPHBlcnNvbl9uYW1l
47
+ IGNvbnRyaWJ1dG9yX3JvbGU9ImF1dGhvciIgc2VxdWVuY2U9ImFkZGl0aW9u
48
+ YWwiPg0KICAgICAgICAgICAgPGdpdmVuX25hbWU+TWVyY8OoPC9naXZlbl9u
49
+ YW1lPg0KICAgICAgICAgICAgPHN1cm5hbWU+Q3Jvc2FzPC9zdXJuYW1lPg0K
50
+ ICAgICAgICAgICAgPE9SQ0lEPmh0dHA6Ly9vcmNpZC5vcmcvMDAwMC0wMDAz
51
+ LTEzMDQtMTkzOTwvT1JDSUQ+DQogICAgICAgICAgPC9wZXJzb25fbmFtZT4N
52
+ CiAgICAgICAgICA8cGVyc29uX25hbWUgY29udHJpYnV0b3Jfcm9sZT0iYXV0
53
+ aG9yIiBzZXF1ZW5jZT0iYWRkaXRpb25hbCI+DQogICAgICAgICAgICA8Z2l2
54
+ ZW5fbmFtZT5KZWZmcmV5PC9naXZlbl9uYW1lPg0KICAgICAgICAgICAgPHN1
55
+ cm5hbWU+R3JldGhlPC9zdXJuYW1lPg0KICAgICAgICAgICAgPE9SQ0lEPmh0
56
+ dHA6Ly9vcmNpZC5vcmcvMDAwMC0wMDAxLTUyMTItNzA1MjwvT1JDSUQ+DQog
57
+ ICAgICAgICAgPC9wZXJzb25fbmFtZT4NCiAgICAgICAgICA8cGVyc29uX25h
58
+ bWUgY29udHJpYnV0b3Jfcm9sZT0iYXV0aG9yIiBzZXF1ZW5jZT0iYWRkaXRp
59
+ b25hbCI+DQogICAgICAgICAgICA8Z2l2ZW5fbmFtZT5EYXZpZDwvZ2l2ZW5f
60
+ bmFtZT4NCiAgICAgICAgICAgIDxzdXJuYW1lPktlbm5lZHk8L3N1cm5hbWU+
61
+ DQogICAgICAgICAgICA8T1JDSUQ+aHR0cDovL29yY2lkLm9yZy8wMDAwLTAw
62
+ MDItOTM3Ny0wNzk3PC9PUkNJRD4NCiAgICAgICAgICA8L3BlcnNvbl9uYW1l
63
+ Pg0KICAgICAgICAgIDxwZXJzb25fbmFtZSBjb250cmlidXRvcl9yb2xlPSJh
64
+ dXRob3IiIHNlcXVlbmNlPSJhZGRpdGlvbmFsIj4NCiAgICAgICAgICAgIDxn
65
+ aXZlbl9uYW1lPkhlbm5pbmc8L2dpdmVuX25hbWU+DQogICAgICAgICAgICA8
66
+ c3VybmFtZT5IZXJtamFrb2I8L3N1cm5hbWU+DQogICAgICAgICAgICA8T1JD
67
+ SUQ+aHR0cDovL29yY2lkLm9yZy8wMDAwLTAwMDEtODQ3OS0wMjYyPC9PUkNJ
68
+ RD4NCiAgICAgICAgICA8L3BlcnNvbl9uYW1lPg0KICAgICAgICAgIDxwZXJz
69
+ b25fbmFtZSBjb250cmlidXRvcl9yb2xlPSJhdXRob3IiIHNlcXVlbmNlPSJh
70
+ ZGRpdGlvbmFsIj4NCiAgICAgICAgICAgIDxnaXZlbl9uYW1lPlBoaWxpcHBl
71
+ PC9naXZlbl9uYW1lPg0KICAgICAgICAgICAgPHN1cm5hbWU+Um9jY2EtU2Vy
72
+ cmE8L3N1cm5hbWU+DQogICAgICAgICAgICA8T1JDSUQ+aHR0cDovL29yY2lk
73
+ Lm9yZy8wMDAwLTAwMDEtOTg1My01NjY4PC9PUkNJRD4NCiAgICAgICAgICA8
74
+ L3BlcnNvbl9uYW1lPg0KICAgICAgICAgIDxwZXJzb25fbmFtZSBjb250cmli
75
+ dXRvcl9yb2xlPSJhdXRob3IiIHNlcXVlbmNlPSJhZGRpdGlvbmFsIj4NCiAg
76
+ ICAgICAgICAgIDxnaXZlbl9uYW1lPlJvYmluPC9naXZlbl9uYW1lPg0KICAg
77
+ ICAgICAgICAgPHN1cm5hbWU+QmVyam9uPC9zdXJuYW1lPg0KICAgICAgICAg
78
+ ICAgPE9SQ0lEPmh0dHA6Ly9vcmNpZC5vcmcvMDAwMC0wMDAyLTE3MzEtNTM0
79
+ NjwvT1JDSUQ+DQogICAgICAgICAgPC9wZXJzb25fbmFtZT4NCiAgICAgICAg
80
+ ICA8cGVyc29uX25hbWUgY29udHJpYnV0b3Jfcm9sZT0iYXV0aG9yIiBzZXF1
81
+ ZW5jZT0iYWRkaXRpb25hbCI+DQogICAgICAgICAgICA8Z2l2ZW5fbmFtZT5T
82
+ ZWJhc3RpYW48L2dpdmVuX25hbWU+DQogICAgICAgICAgICA8c3VybmFtZT5L
83
+ YXJjaGVyPC9zdXJuYW1lPg0KICAgICAgICAgICAgPE9SQ0lEPmh0dHA6Ly9v
84
+ cmNpZC5vcmcvMDAwMC0wMDAxLTgyNDktNzM4ODwvT1JDSUQ+DQogICAgICAg
85
+ ICAgPC9wZXJzb25fbmFtZT4NCiAgICAgICAgICA8cGVyc29uX25hbWUgY29u
86
+ dHJpYnV0b3Jfcm9sZT0iYXV0aG9yIiBzZXF1ZW5jZT0iYWRkaXRpb25hbCI+
87
+ DQogICAgICAgICAgICA8Z2l2ZW5fbmFtZT5NYXJ5YW5uPC9naXZlbl9uYW1l
88
+ Pg0KICAgICAgICAgICAgPHN1cm5hbWU+TWFydG9uZTwvc3VybmFtZT4NCiAg
89
+ ICAgICAgICAgIDxPUkNJRD5odHRwOi8vb3JjaWQub3JnLzAwMDAtMDAwMi04
90
+ NDA2LTM4NzE8L09SQ0lEPg0KICAgICAgICAgIDwvcGVyc29uX25hbWU+DQog
91
+ ICAgICAgICAgPHBlcnNvbl9uYW1lIGNvbnRyaWJ1dG9yX3JvbGU9ImF1dGhv
92
+ ciIgc2VxdWVuY2U9ImFkZGl0aW9uYWwiPg0KICAgICAgICAgICAgPGdpdmVu
93
+ X25hbWU+VGltb3RoeTwvZ2l2ZW5fbmFtZT4NCiAgICAgICAgICAgIDxzdXJu
94
+ YW1lPkNsYXJrPC9zdXJuYW1lPg0KICAgICAgICAgICAgPE9SQ0lEPmh0dHA6
95
+ Ly9vcmNpZC5vcmcvMDAwMC0wMDAzLTQwNjAtNzM2MDwvT1JDSUQ+DQogICAg
96
+ ICAgICAgPC9wZXJzb25fbmFtZT4NCiAgICAgICAgPC9jb250cmlidXRvcnM+
97
+ DQogICAgICAgIDx0aXRsZXM+DQogICAgICAgICAgPHRpdGxlPkEgRGF0YSBD
98
+ aXRhdGlvbiBSb2FkbWFwIGZvciBTY2hvbGFybHkgRGF0YSBSZXBvc2l0b3Jp
99
+ ZXM8L3RpdGxlPg0KICAgICAgICA8L3RpdGxlcz4NCiAgICAgICAgPHBvc3Rl
100
+ ZF9kYXRlPg0KICAgICAgICAgIDxtb250aD4xMjwvbW9udGg+DQogICAgICAg
101
+ ICAgPGRheT4yODwvZGF5Pg0KICAgICAgICAgIDx5ZWFyPjIwMTY8L3llYXI+
102
+ DQogICAgICAgIDwvcG9zdGVkX2RhdGU+DQogICAgICAgIDxhY2NlcHRhbmNl
103
+ X2RhdGU+DQogICAgICAgICAgPG1vbnRoPjEyPC9tb250aD4NCiAgICAgICAg
104
+ ICA8ZGF5PjI4PC9kYXk+DQogICAgICAgICAgPHllYXI+MjAxNjwveWVhcj4N
105
+ CiAgICAgICAgPC9hY2NlcHRhbmNlX2RhdGU+DQogICAgICAgIDxpbnN0aXR1
106
+ dGlvbj4NCiAgICAgICAgICA8aW5zdGl0dXRpb25fbmFtZT5iaW9SeGl2PC9p
107
+ bnN0aXR1dGlvbl9uYW1lPg0KICAgICAgICA8L2luc3RpdHV0aW9uPg0KICAg
108
+ ICAgICA8aXRlbV9udW1iZXIgaXRlbV9udW1iZXJfdHlwZT0icGlzYSI+Ymlv
109
+ cnhpdjswOTcxOTZ2MTwvaXRlbV9udW1iZXI+DQogICAgICAgIDxhYnN0cmFj
110
+ dD4NCiAgICAgICAgICA8cD5UaGlzIGFydGljbGUgcHJlc2VudHMgYSBwcmFj
111
+ dGljYWwgcm9hZG1hcCBmb3Igc2Nob2xhcmx5IGRhdGEgcmVwb3NpdG9yaWVz
112
+ IHRvIGltcGxlbWVudCBkYXRhIGNpdGF0aW9uIGluIGFjY29yZGFuY2Ugd2l0
113
+ aCB0aGUgSm9pbnQgRGVjbGFyYXRpb24gb2YgRGF0YSBDaXRhdGlvbiBQcmlu
114
+ Y2lwbGVzIChEYXRhIENpdGF0aW9uIFN5bnRoZXNpcyBHcm91cCwgMjAxNCks
115
+ IGEgc3lub3BzaXMgYW5kIGhhcm1vbml6YXRpb24gb2YgdGhlIHJlY29tbWVu
116
+ ZGF0aW9ucyBvZiBtYWpvciBzY2llbmNlIHBvbGljeSBib2RpZXMuIFRoZSBy
117
+ b2FkbWFwIHdhcyBkZXZlbG9wZWQgYnkgdGhlIFJlcG9zaXRvcmllcyBFYXJs
118
+ eSBBZG9wdGVycyBFeHBlcnQgR3JvdXAsICBwYXJ0IG9mIHRoZSBEYXRhIENp
119
+ dGF0aW9uIEltcGxlbWVudGF0aW9uIFBpbG90IChEQ0lQKSBwcm9qZWN0IChG
120
+ T1JDRTExLCAyMDE1KSwgYW4gaW5pdGlhdGl2ZSBvZiBGT1JDRTExLm9yZyBh
121
+ bmQgdGhlIE5JSCBCaW9DQURESUUgKDIwMTYpIHByb2dyYW0uIFRoZSByb2Fk
122
+ bWFwIG1ha2VzIDExIHNwZWNpZmljIHJlY29tbWVuZGF0aW9ucywgZ3JvdXBl
123
+ ZCBpbnRvIHRocmVlIHBoYXNlcyBvZiBpbXBsZW1lbnRhdGlvbjogYSkgcmVx
124
+ dWlyZWQgc3RlcHMgbmVlZGVkIHRvIHN1cHBvcnQgdGhlIEpvaW50IERlY2xh
125
+ cmF0aW9uIG9mIERhdGEgQ2l0YXRpb24gUHJpbmNpcGxlcywgYikgcmVjb21t
126
+ ZW5kZWQgc3RlcHMgdGhhdCBmYWNpbGl0YXRlIGFydGljbGUvZGF0YSBwdWJs
127
+ aWNhdGlvbiB3b3JrZmxvd3MsIGFuZCBjKSBvcHRpb25hbCBzdGVwcyB0aGF0
128
+ IGZ1cnRoZXIgaW1wcm92ZSBkYXRhIGNpdGF0aW9uIHN1cHBvcnQgcHJvdmlk
129
+ ZWQgYnkgZGF0YSByZXBvc2l0b3JpZXMuPC9wPg0KICAgICAgICA8L2Fic3Ry
130
+ YWN0Pg0KICAgICAgICA8ZG9pX2RhdGE+DQogICAgICAgICAgPGRvaT4xMC4x
131
+ MTAxLzA5NzE5NjwvZG9pPg0KICAgICAgICAgIDx0aW1lc3RhbXA+MjAxNjEy
132
+ MjgyMjEwMDY0OTAwMDwvdGltZXN0YW1wPg0KICAgICAgICAgIDxyZXNvdXJj
133
+ ZT5odHRwOi8vYmlvcnhpdi5vcmcvbG9va3VwL2RvaS8xMC4xMTAxLzA5NzE5
134
+ NjwvcmVzb3VyY2U+DQogICAgICAgICAgPGNvbGxlY3Rpb24gcHJvcGVydHk9
135
+ ImNyYXdsZXItYmFzZWQiPg0KICAgICAgICAgICAgPGl0ZW0gY3Jhd2xlcj0i
136
+ aVBhcmFkaWdtcyI+DQogICAgICAgICAgICAgIDxyZXNvdXJjZT5odHRwczov
137
+ L3N5bmRpY2F0aW9uLmhpZ2h3aXJlLm9yZy9jb250ZW50L2RvaS8xMC4xMTAx
138
+ LzA5NzE5NjwvcmVzb3VyY2U+DQogICAgICAgICAgICA8L2l0ZW0+DQogICAg
139
+ ICAgICAgPC9jb2xsZWN0aW9uPg0KICAgICAgICA8L2RvaV9kYXRhPg0KICAg
140
+ ICAgPC9wb3N0ZWRfY29udGVudD4NCiAgICA8L2Nyb3NzcmVmPg0KICA8L2Rv
141
+ aV9yZWNvcmQ+DQo8L2RvaV9yZWNvcmRzPg==
142
+ http_version:
143
+ recorded_at: Tue, 25 Apr 2017 05:32:30 GMT
144
+ recorded_with: VCR 3.0.3
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bolognese
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.7
4
+ version: 0.9.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Martin Fenner
@@ -262,6 +262,20 @@ dependencies:
262
262
  - - "~>"
263
263
  - !ruby/object:Gem::Version
264
264
  version: '0.7'
265
+ - !ruby/object:Gem::Dependency
266
+ name: gender_detector
267
+ requirement: !ruby/object:Gem::Requirement
268
+ requirements:
269
+ - - "~>"
270
+ - !ruby/object:Gem::Version
271
+ version: 0.1.2
272
+ type: :runtime
273
+ prerelease: false
274
+ version_requirements: !ruby/object:Gem::Requirement
275
+ requirements:
276
+ - - "~>"
277
+ - !ruby/object:Gem::Version
278
+ version: 0.1.2
265
279
  - !ruby/object:Gem::Dependency
266
280
  name: bundler
267
281
  requirement: !ruby/object:Gem::Requirement
@@ -572,6 +586,7 @@ files:
572
586
  - spec/fixtures/vcr_cassettes/Bolognese_Crossref/get_name_identifier/has_no_ORCID.yml
573
587
  - spec/fixtures/vcr_cassettes/Bolognese_Crossref/get_one_author/author.yml
574
588
  - spec/fixtures/vcr_cassettes/Bolognese_Crossref/get_one_author/has_familyName.yml
589
+ - spec/fixtures/vcr_cassettes/Bolognese_Crossref/get_one_author/has_multiple_names_in_display-order.yml
575
590
  - spec/fixtures/vcr_cassettes/Bolognese_Crossref/get_one_author/has_name_in_Thai.yml
576
591
  - spec/fixtures/vcr_cassettes/Bolognese_Crossref/get_one_author/has_name_in_display-order.yml
577
592
  - spec/fixtures/vcr_cassettes/Bolognese_Crossref/get_one_author/has_name_in_display-order_with_ORCID.yml
@@ -583,6 +598,7 @@ files:
583
598
  - spec/fixtures/vcr_cassettes/Bolognese_Crossref/is_personal_name_/has_comma.yml
584
599
  - spec/fixtures/vcr_cassettes/Bolognese_Crossref/is_personal_name_/has_family_name.yml
585
600
  - spec/fixtures/vcr_cassettes/Bolognese_Crossref/is_personal_name_/has_id.yml
601
+ - spec/fixtures/vcr_cassettes/Bolognese_Crossref/is_personal_name_/has_known_given_name.yml
586
602
  - spec/fixtures/vcr_cassettes/Bolognese_Crossref/is_personal_name_/has_no_info.yml
587
603
  - spec/fixtures/vcr_cassettes/Bolognese_Crossref/is_personal_name_/has_type_organization.yml
588
604
  - spec/fixtures/vcr_cassettes/Bolognese_Crossref/is_personal_name_/has_type_person.yml