bolognese 0.9.7 → 0.9.8

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 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