identifiers 0.12.0 → 0.12.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
  SHA256:
3
- metadata.gz: 6ec6f86cbb54595ef76ab6615ba9e3a5f671478daebf31412f6b6820f1cb020d
4
- data.tar.gz: 63881a8f3863926d66005133ba9fa0cdf471a7446c2dffa12534ac540911207e
3
+ metadata.gz: 423438daad2350706eced26425401a5d97ae715095b54853fe55ba4f8dbbaf2d
4
+ data.tar.gz: 2776accbdccfc17965dd69507a0b326b2a57e275811828b05e76b47c0f54bb28
5
5
  SHA512:
6
- metadata.gz: 97b2352aa4a99ec8cf5158e1239f273e10f28321df11941445890549b827365e7a8ba1fb54d4a268bd146889f94aaa4fec0135ec1b67f779094557c6987bc466
7
- data.tar.gz: f0e6a040a480bf9cf42900997415f8341fb7f68274434c936e725bafab484ce703fc6f0e21c5e317a85456c9fc0c2305e80ba9b1bae99cc7e6ba33fa40a890cc
6
+ metadata.gz: e319511db960df762b3a646239edf45ff683bef6227736c673072de6ef5d1649dd300232f93c0af0be1d7744308de4f07ebfd53582add6069c6b3f425249722b
7
+ data.tar.gz: 1ebd31499facbc5a51ec0dcf30fadb920e86ad6e53c20f4bb5dd66fa11c9f9cc7842a8b703348f13aac2675c0415c2c0f9464c42baafd055669c881342c33217
@@ -2,12 +2,17 @@
2
2
  All notable changes to this project will be documented in this file. This
3
3
  project adheres to [Semantic Versioning](http://semver.org/).
4
4
 
5
+ ## [0.12.1] - 2018-04-09
6
+ ### Fixed
7
+ - Restored support for extracting hyphenated ISBN-10s with registration group
8
+ identifiers longer than one digit
9
+
5
10
  ## [0.12.0] - 2018-04-06
6
11
  ### Added
7
12
  - Added support for extracting more old Wiley DOIs
8
13
 
9
14
  ### Changed
10
- - Performance improvements when extracting DOIs with trailing punctuation.
15
+ - Performance improvements when extracting DOIs with trailing punctuation
11
16
 
12
17
  ## [0.11.0] - 2018-03-12
13
18
  ### Fixed
@@ -61,7 +66,7 @@ project adheres to [Semantic Versioning](http://semver.org/).
61
66
 
62
67
  ## [0.2.0] - 2016-11-01
63
68
  ### Changed
64
- - Strip leading 0s from Pubmed IDs. 0 is no longer a valid Pubmed ID.
69
+ - Strip leading 0s from Pubmed IDs. 0 is no longer a valid Pubmed ID
65
70
 
66
71
  ## [0.1.0] - 2016-10-21
67
72
  ### Added
@@ -82,3 +87,4 @@ project adheres to [Semantic Versioning](http://semver.org/).
82
87
  [0.10.0]: https://github.com/altmetric/identifiers/releases/tag/v0.10.0
83
88
  [0.11.0]: https://github.com/altmetric/identifiers/releases/tag/v0.11.0
84
89
  [0.12.0]: https://github.com/altmetric/identifiers/releases/tag/v0.12.0
90
+ [0.12.1]: https://github.com/altmetric/identifiers/releases/tag/v0.12.1
@@ -20,7 +20,7 @@ module Identifiers
20
20
  |
21
21
  [^[:space:]]+ # Suffix...
22
22
  \([^[:space:])]+\) # Ending in balanced parentheses...
23
- (?![^[:space:]\p{P}]) # Not followed by more suffix or punctuation
23
+ (?![^[:space:]\p{P}]) # Not followed by more suffix
24
24
  |
25
25
  [^[:space:]]+(?![[:space:]])\p{^P} # Suffix ending in non-punctuation
26
26
  )
@@ -20,12 +20,12 @@ module Identifiers
20
20
  )
21
21
  \b
22
22
  (
23
- \d # Digit
23
+ \d{1,5} # Registration group identifier
24
24
  ([\p{Pd}\p{Zs}])? # Optional hyphenation
25
25
  (?:
26
26
  \d # Digit
27
27
  \2? # Optional hyphenation
28
- ){8}
28
+ ){4,8}
29
29
  [\dX] # Check digit
30
30
  )
31
31
  \b
@@ -85,7 +85,7 @@ module Identifiers
85
85
  end
86
86
 
87
87
  def self.valid_isbn_13?(isbn)
88
- return false unless isbn =~ ISBN_13_REGEXP
88
+ return false unless String(isbn).length == 13 && isbn =~ ISBN_13_REGEXP
89
89
 
90
90
  result = digits_of(isbn).zip([1, 3].cycle).map { |digit, weight| digit * weight }.reduce(:+)
91
91
 
@@ -93,7 +93,7 @@ module Identifiers
93
93
  end
94
94
 
95
95
  def self.valid_isbn_10?(isbn)
96
- return false unless isbn =~ ISBN_10_REGEXP
96
+ return false unless String(isbn).length == 10 && isbn =~ ISBN_10_REGEXP
97
97
 
98
98
  result = digits_of(isbn).with_index.map { |digit, weight| digit * weight.succ }.reduce(:+)
99
99
 
@@ -118,4 +118,9 @@ RSpec.describe Identifiers::ISBN do
118
118
  it 'does not extract ISBN-10s if they have less than four groups' do
119
119
  expect(described_class.extract('0-80506909-7')).to be_empty
120
120
  end
121
+
122
+ it 'extracts ISBN-10s with variable width registration group identifiers' do
123
+ expect(described_class.extract('99921-58-10-7 9971-5-0210-0 960-425-059-0 80-902734-1-6'))
124
+ .to contain_exactly('9789992158104', '9789971502102', '9789604250592', '9788090273412')
125
+ end
121
126
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: identifiers
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.12.0
4
+ version: 0.12.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jonathan Hernandez
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: exe
11
11
  cert_chain: []
12
- date: 2018-04-06 00:00:00.000000000 Z
12
+ date: 2018-04-09 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: urn