commonmeta-ruby 3.0.9 → 3.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +0 -3
- data/Gemfile.lock +42 -43
- data/commonmeta.gemspec +1 -2
- data/lib/commonmeta/crossref_utils.rb +4 -7
- data/lib/commonmeta/metadata.rb +4 -10
- data/lib/commonmeta/metadata_utils.rb +2 -0
- data/lib/commonmeta/readers/json_post_reader.rb +78 -0
- data/lib/commonmeta/utils.rb +19 -0
- data/lib/commonmeta/version.rb +1 -1
- data/lib/commonmeta.rb +0 -1
- data/spec/author_utils_spec.rb +10 -0
- data/spec/cli_spec.rb +21 -1
- data/spec/fixtures/vcr_cassettes/Commonmeta_CLI/convert_file/crossref/to_crossref_xml.yml +107 -0
- data/spec/fixtures/vcr_cassettes/Commonmeta_CLI/convert_file/crossref_xml/to_crossref_xml.yml +52 -0
- data/spec/fixtures/vcr_cassettes/Commonmeta_CLI/convert_file/crossref_xml/to_crossref_xml_refresh.yml +107 -0
- data/spec/fixtures/vcr_cassettes/Commonmeta_CLI/convert_from_id/schema_org/to_crossref_xml.yml +2189 -0
- data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_json_item_metadata/blogger_post.yml +94 -0
- data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_json_item_metadata/ghost_post.yml +117 -0
- data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_json_item_metadata/ghost_post_with_doi.yml +117 -0
- data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_json_item_metadata/jekyll_post.yml +170 -0
- data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_json_item_metadata/wordpress_post.yml +163 -0
- data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_json_post_metadata/blogger_post.yml +94 -0
- data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_json_post_metadata/ghost_post_with_doi.yml +117 -0
- data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_json_post_metadata/jekyll_post.yml +87 -0
- data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_json_post_metadata/wordpress_post.yml +163 -0
- data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_link/license.yml +221 -0
- data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_link/url.yml +221 -0
- data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_crossref/json_item_from_rogue_scholar_with_doi.yml +163 -0
- data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_crossref/json_item_from_upstream_blog.yml +243 -0
- data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_crossref/json_post_from_rogue_scholar_with_doi.yml +163 -0
- data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_crossref/json_post_from_upstream_blog.yml +243 -0
- data/spec/metadata_spec.rb +1 -1
- data/spec/readers/datacite_reader_spec.rb +1 -1
- data/spec/readers/json_post_reader_spec.rb +89 -0
- data/spec/utils_spec.rb +330 -314
- data/spec/writers/crossref_xml_writer_spec.rb +183 -137
- metadata +24 -25
@@ -107,4 +107,111 @@ http_interactions:
|
|
107
107
|
}
|
108
108
|
]
|
109
109
|
recorded_at: Sun, 19 Mar 2023 17:35:44 GMT
|
110
|
+
- request:
|
111
|
+
method: get
|
112
|
+
uri: https://api.crossref.org/members/4374
|
113
|
+
body:
|
114
|
+
encoding: UTF-8
|
115
|
+
string: ''
|
116
|
+
headers:
|
117
|
+
Connection:
|
118
|
+
- close
|
119
|
+
Host:
|
120
|
+
- api.crossref.org
|
121
|
+
User-Agent:
|
122
|
+
- http.rb/5.1.1
|
123
|
+
response:
|
124
|
+
status:
|
125
|
+
code: 200
|
126
|
+
message: OK
|
127
|
+
headers:
|
128
|
+
Date:
|
129
|
+
- Fri, 14 Apr 2023 14:56:25 GMT
|
130
|
+
Content-Type:
|
131
|
+
- application/json
|
132
|
+
Transfer-Encoding:
|
133
|
+
- chunked
|
134
|
+
Access-Control-Expose-Headers:
|
135
|
+
- Link
|
136
|
+
Access-Control-Allow-Headers:
|
137
|
+
- X-Requested-With, Accept, Accept-Encoding, Accept-Charset, Accept-Language,
|
138
|
+
Accept-Ranges, Cache-Control
|
139
|
+
Access-Control-Allow-Origin:
|
140
|
+
- "*"
|
141
|
+
Server:
|
142
|
+
- Jetty(9.4.40.v20210413)
|
143
|
+
X-Ratelimit-Limit:
|
144
|
+
- '50'
|
145
|
+
X-Ratelimit-Interval:
|
146
|
+
- 1s
|
147
|
+
X-Api-Pool:
|
148
|
+
- public
|
149
|
+
X-Rate-Limit-Limit:
|
150
|
+
- '50'
|
151
|
+
X-Rate-Limit-Interval:
|
152
|
+
- 1s
|
153
|
+
Permissions-Policy:
|
154
|
+
- interest-cohort=()
|
155
|
+
Connection:
|
156
|
+
- close
|
157
|
+
body:
|
158
|
+
encoding: UTF-8
|
159
|
+
string: '{"status":"ok","message-type":"member","message-version":"1.0.0","message":{"last-status-check-time":1681445056270,"primary-name":"eLife
|
160
|
+
Sciences Publications, Ltd","counts":{"current-dois":15033,"backfile-dois":28280,"total-dois":43313},"breakdowns":{"dois-by-issued-year":[[2021,7229],[2022,6717],[2020,6182],[2019,4848],[2017,4118],[2018,4058],[2016,3510],[2015,2808],[2014,1786],[2023,1087],[2013,811],[2012,159]]},"prefixes":["10.7554"],"coverage":{"affiliations-current":0.9813077895297013,"similarity-checking-current":0.0,"descriptions-current":0.0,"ror-ids-current":0.5641588505288366,"funders-backfile":0.3052687411598303,"licenses-backfile":0.999964639321075,"funders-current":0.2880995144016497,"affiliations-backfile":0.9898161244695898,"resource-links-backfile":0.3481966053748232,"orcids-backfile":0.8474540311173975,"update-policies-current":0.3135102773897426,"ror-ids-backfile":0.002192362093352192,"orcids-current":0.9405973524911861,"similarity-checking-backfile":0.0,"references-backfile":0.3392857142857143,"descriptions-backfile":0.0,"award-numbers-backfile":0.2866690240452617,"update-policies-backfile":0.0708981612446959,"licenses-current":1.0,"award-numbers-current":0.2787201490055212,"abstracts-backfile":0.3405586987270156,"resource-links-current":0.3135102773897426,"abstracts-current":0.3157054480143684,"references-current":0.3028005055544469},"prefix":[{"name":"eLife
|
161
|
+
Sciences Publications, Ltd.","value":"10.7554"}],"id":4374,"tokens":["elife","sciences","publications","ltd"],"counts-type":{"all":{"peer-review":28652,"journal-article":14562,"journal":1,"component":143802,"posted-content":99},"backfile":{"peer-review":18431,"journal-article":9849},"current":{"peer-review":10221,"journal-article":4713,"posted-content":99}},"coverage-type":{"all":{"peer-review":{"last-status-check-time":1681445056270,"affiliations":0.9906812787938015,"abstracts":0.0,"orcids":0.8816138489459724,"licenses":1.0,"references":0.0,"funders":0.0,"similarity-checking":0.0,"award-numbers":0.0,"ror-ids":0.2177509423425939,"update-policies":0.0,"resource-links":0.0,"descriptions":0.0},"journal-article":{"last-status-check-time":1681445056270,"affiliations":0.9792610905095454,"abstracts":0.9804971844526851,"orcids":0.8760472462573822,"licenses":0.99993132811427,"references":0.9715011674220574,"funders":0.8902623266034885,"similarity-checking":0.0,"award-numbers":0.8444581788215904,"ror-ids":0.1582200247218789,"update-policies":0.4613377283340201,"resource-links":0.99986265622854,"descriptions":0.0},"journal":{"last-status-check-time":1681445056270,"affiliations":0.0,"abstracts":0.0,"orcids":0.0,"licenses":0.0,"references":0.0,"funders":0.0,"similarity-checking":0.0,"award-numbers":0.0,"ror-ids":0.0,"update-policies":0.0,"resource-links":0.0,"descriptions":0.0},"component":{"last-status-check-time":1681445056270,"affiliations":0.0,"abstracts":0.0,"orcids":0.0,"licenses":4.867804342081473E-4,"references":0.0,"funders":0.0,"similarity-checking":0.0,"award-numbers":0.0,"ror-ids":0.0,"update-policies":0.0,"resource-links":0.0,"descriptions":0.0},"posted-content":{"last-status-check-time":1681445056270,"affiliations":1.0,"abstracts":1.0,"orcids":0.898989898989899,"licenses":1.0,"references":0.0,"funders":0.0,"similarity-checking":0.0,"award-numbers":0.0,"ror-ids":0.0,"update-policies":0.0,"resource-links":0.0,"descriptions":0.0}},"backfile":{"peer-review":{"last-status-check-time":1681445056270,"affiliations":0.9971244099614779,"abstracts":0.0,"orcids":0.86376213987304,"licenses":1.0,"references":0.0,"funders":0.0,"similarity-checking":0.0,"award-numbers":0.0,"ror-ids":0.003363897780912593,"update-policies":0.0,"resource-links":0.0,"descriptions":0.0},"journal-article":{"last-status-check-time":1681445056270,"affiliations":0.9761397096151894,"abstracts":0.9778657731749416,"orcids":0.8169357295156869,"licenses":0.9998984668494263,"references":0.9742105797542898,"funders":0.8765356889024266,"similarity-checking":0.0,"award-numbers":0.8231292517006803,"ror-ids":0.0,"update-policies":0.2035739669001929,"resource-links":0.9997969336988527,"descriptions":0.0}},"current":{"peer-review":{"last-status-check-time":1681445056270,"affiliations":0.9790627140201545,"abstracts":0.0,"orcids":0.9138049114568046,"licenses":1.0,"references":0.0,"funders":0.0,"similarity-checking":0.0,"award-numbers":0.0,"ror-ids":0.6043439976518932,"update-policies":0.0,"resource-links":0.0,"descriptions":0.0},"journal-article":{"last-status-check-time":1681445056270,"affiliations":0.9857840016974326,"abstracts":0.9859961807765754,"orcids":0.9995756418417144,"licenses":1.0,"references":0.9658391682580098,"funders":0.9189475917674517,"similarity-checking":0.0,"award-numbers":0.8890303416083174,"ror-ids":0.4888605983450032,"update-policies":1.0,"resource-links":1.0,"descriptions":0.0},"posted-content":{"last-status-check-time":1681445056270,"affiliations":1.0,"abstracts":1.0,"orcids":0.898989898989899,"licenses":1.0,"references":0.0,"funders":0.0,"similarity-checking":0.0,"award-numbers":0.0,"ror-ids":0.0,"update-policies":0.0,"resource-links":0.0,"descriptions":0.0}}},"flags":{"deposits-abstracts-current":true,"deposits-orcids-current":true,"deposits":true,"deposits-affiliations-backfile":true,"deposits-update-policies-backfile":true,"deposits-similarity-checking-backfile":false,"deposits-award-numbers-current":true,"deposits-resource-links-current":true,"deposits-ror-ids-current":true,"deposits-articles":true,"deposits-affiliations-current":true,"deposits-funders-current":true,"deposits-references-backfile":true,"deposits-ror-ids-backfile":true,"deposits-abstracts-backfile":true,"deposits-licenses-backfile":true,"deposits-award-numbers-backfile":true,"deposits-descriptions-current":false,"deposits-references-current":true,"deposits-resource-links-backfile":true,"deposits-descriptions-backfile":false,"deposits-orcids-backfile":true,"deposits-funders-backfile":true,"deposits-update-policies-current":true,"deposits-similarity-checking-current":false,"deposits-licenses-current":true},"location":"Cambridge,
|
162
|
+
United Kingdom","names":["eLife Sciences Publications, Ltd","eLife Sciences
|
163
|
+
Publications, Ltd."]}}'
|
164
|
+
recorded_at: Fri, 14 Apr 2023 14:56:25 GMT
|
165
|
+
- request:
|
166
|
+
method: get
|
167
|
+
uri: https://doi.org/ra/10.7554
|
168
|
+
body:
|
169
|
+
encoding: UTF-8
|
170
|
+
string: ''
|
171
|
+
headers:
|
172
|
+
Connection:
|
173
|
+
- close
|
174
|
+
Host:
|
175
|
+
- doi.org
|
176
|
+
User-Agent:
|
177
|
+
- http.rb/5.1.1
|
178
|
+
response:
|
179
|
+
status:
|
180
|
+
code: 200
|
181
|
+
message: OK
|
182
|
+
headers:
|
183
|
+
Date:
|
184
|
+
- Fri, 14 Apr 2023 14:56:25 GMT
|
185
|
+
Content-Type:
|
186
|
+
- application/json;charset=UTF-8
|
187
|
+
Transfer-Encoding:
|
188
|
+
- chunked
|
189
|
+
Connection:
|
190
|
+
- close
|
191
|
+
Permissions-Policy:
|
192
|
+
- interest-cohort=(),browsing-topics=()
|
193
|
+
Cf-Cache-Status:
|
194
|
+
- DYNAMIC
|
195
|
+
Report-To:
|
196
|
+
- '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=sEMA5Qwgps61wkVVbFF7kyRxCF8A1G%2BpuuBK0fmnk%2BC3bt91lIuifBIFty37rOQo%2FBj%2FmLlCoI2szZTwurXZS4RnDGSsRHRx25nyh7%2Bjlz%2BmdhcV0qlHK0hzmiyAz4LMDOSKOx4%3D"}],"group":"cf-nel","max_age":604800}'
|
197
|
+
Nel:
|
198
|
+
- '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}'
|
199
|
+
Strict-Transport-Security:
|
200
|
+
- max-age=31536000; includeSubDomains; preload
|
201
|
+
Server:
|
202
|
+
- cloudflare
|
203
|
+
Cf-Ray:
|
204
|
+
- 7b7ccb9f9e9eb890-AMS
|
205
|
+
Alt-Svc:
|
206
|
+
- h3=":443"; ma=86400, h3-29=":443"; ma=86400
|
207
|
+
body:
|
208
|
+
encoding: UTF-8
|
209
|
+
string: |-
|
210
|
+
[
|
211
|
+
{
|
212
|
+
"DOI": "10.7554",
|
213
|
+
"RA": "Crossref"
|
214
|
+
}
|
215
|
+
]
|
216
|
+
recorded_at: Fri, 14 Apr 2023 14:56:25 GMT
|
110
217
|
recorded_with: VCR 6.1.0
|
data/spec/fixtures/vcr_cassettes/Commonmeta_CLI/convert_file/crossref_xml/to_crossref_xml.yml
CHANGED
@@ -52,4 +52,56 @@ http_interactions:
|
|
52
52
|
}
|
53
53
|
]
|
54
54
|
recorded_at: Sun, 19 Mar 2023 20:04:52 GMT
|
55
|
+
- request:
|
56
|
+
method: get
|
57
|
+
uri: https://doi.org/ra/10.7554
|
58
|
+
body:
|
59
|
+
encoding: UTF-8
|
60
|
+
string: ''
|
61
|
+
headers:
|
62
|
+
Connection:
|
63
|
+
- close
|
64
|
+
Host:
|
65
|
+
- doi.org
|
66
|
+
User-Agent:
|
67
|
+
- http.rb/5.1.1
|
68
|
+
response:
|
69
|
+
status:
|
70
|
+
code: 200
|
71
|
+
message: OK
|
72
|
+
headers:
|
73
|
+
Date:
|
74
|
+
- Fri, 14 Apr 2023 14:58:01 GMT
|
75
|
+
Content-Type:
|
76
|
+
- application/json;charset=UTF-8
|
77
|
+
Transfer-Encoding:
|
78
|
+
- chunked
|
79
|
+
Connection:
|
80
|
+
- close
|
81
|
+
Permissions-Policy:
|
82
|
+
- interest-cohort=(),browsing-topics=()
|
83
|
+
Cf-Cache-Status:
|
84
|
+
- DYNAMIC
|
85
|
+
Report-To:
|
86
|
+
- '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=DY93SvDIpxTkBL%2BZAbaq98D4jK06wGEfXAiTBM3KXwnnmGwrdMgtXzK0kKmFaKsByV4QZ%2BkqYO849DrwnvZRV4ctCLx4DvrVe%2B0CMhFK6A00sV1RR459Vw6yLVZa8ApUuvGMWqc%3D"}],"group":"cf-nel","max_age":604800}'
|
87
|
+
Nel:
|
88
|
+
- '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}'
|
89
|
+
Strict-Transport-Security:
|
90
|
+
- max-age=31536000; includeSubDomains; preload
|
91
|
+
Server:
|
92
|
+
- cloudflare
|
93
|
+
Cf-Ray:
|
94
|
+
- 7b7ccdf9ddd7d0b5-AMS
|
95
|
+
Alt-Svc:
|
96
|
+
- h3=":443"; ma=86400, h3-29=":443"; ma=86400
|
97
|
+
body:
|
98
|
+
encoding: UTF-8
|
99
|
+
string: |-
|
100
|
+
[
|
101
|
+
{
|
102
|
+
"DOI": "10.7554",
|
103
|
+
"RA": "Crossref"
|
104
|
+
}
|
105
|
+
]
|
106
|
+
recorded_at: Fri, 14 Apr 2023 14:58:01 GMT
|
55
107
|
recorded_with: VCR 6.1.0
|
@@ -0,0 +1,107 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: https://doi.org/ra/10.7554
|
6
|
+
body:
|
7
|
+
encoding: UTF-8
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
Connection:
|
11
|
+
- close
|
12
|
+
Host:
|
13
|
+
- doi.org
|
14
|
+
User-Agent:
|
15
|
+
- http.rb/5.1.1
|
16
|
+
response:
|
17
|
+
status:
|
18
|
+
code: 200
|
19
|
+
message: OK
|
20
|
+
headers:
|
21
|
+
Date:
|
22
|
+
- Fri, 14 Apr 2023 15:01:05 GMT
|
23
|
+
Content-Type:
|
24
|
+
- application/json;charset=UTF-8
|
25
|
+
Transfer-Encoding:
|
26
|
+
- chunked
|
27
|
+
Connection:
|
28
|
+
- close
|
29
|
+
Permissions-Policy:
|
30
|
+
- interest-cohort=(),browsing-topics=()
|
31
|
+
Cf-Cache-Status:
|
32
|
+
- DYNAMIC
|
33
|
+
Report-To:
|
34
|
+
- '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=FbYmEwnk6%2FvCn1ICgcABvrgkgOur%2BDwXjbYMG%2FeY6v75G%2FUgiDXEUeiF4B5CfTrcpdAvnWfMkR%2FSNyoImowByRI7Kh3TTs%2FdPpzEz69xOTXUj8OC3eKuJV4fT0KAn7kRPeV6A10%3D"}],"group":"cf-nel","max_age":604800}'
|
35
|
+
Nel:
|
36
|
+
- '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}'
|
37
|
+
Strict-Transport-Security:
|
38
|
+
- max-age=31536000; includeSubDomains; preload
|
39
|
+
Server:
|
40
|
+
- cloudflare
|
41
|
+
Cf-Ray:
|
42
|
+
- 7b7cd273a87eb79a-AMS
|
43
|
+
Alt-Svc:
|
44
|
+
- h3=":443"; ma=86400, h3-29=":443"; ma=86400
|
45
|
+
body:
|
46
|
+
encoding: UTF-8
|
47
|
+
string: |-
|
48
|
+
[
|
49
|
+
{
|
50
|
+
"DOI": "10.7554",
|
51
|
+
"RA": "Crossref"
|
52
|
+
}
|
53
|
+
]
|
54
|
+
recorded_at: Fri, 14 Apr 2023 15:01:05 GMT
|
55
|
+
- request:
|
56
|
+
method: get
|
57
|
+
uri: https://doi.org/ra/10.7554
|
58
|
+
body:
|
59
|
+
encoding: UTF-8
|
60
|
+
string: ''
|
61
|
+
headers:
|
62
|
+
Connection:
|
63
|
+
- close
|
64
|
+
Host:
|
65
|
+
- doi.org
|
66
|
+
User-Agent:
|
67
|
+
- http.rb/5.1.1
|
68
|
+
response:
|
69
|
+
status:
|
70
|
+
code: 200
|
71
|
+
message: OK
|
72
|
+
headers:
|
73
|
+
Date:
|
74
|
+
- Fri, 14 Apr 2023 15:01:05 GMT
|
75
|
+
Content-Type:
|
76
|
+
- application/json;charset=UTF-8
|
77
|
+
Transfer-Encoding:
|
78
|
+
- chunked
|
79
|
+
Connection:
|
80
|
+
- close
|
81
|
+
Permissions-Policy:
|
82
|
+
- interest-cohort=(),browsing-topics=()
|
83
|
+
Cf-Cache-Status:
|
84
|
+
- DYNAMIC
|
85
|
+
Report-To:
|
86
|
+
- '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=L8kCqbNd7V4AI3QLk2YnXnFQDYk3KLq9eHI1FgwvGQ%2FzZvThvCBJV8x5OD6LGZSwuceCDBIoUxlqEb5RCEXSN%2BIk%2FvEA%2BADk7Q2K6DlJXPHuJV3E0yQaOuxqMwT1wnwBYUhnR1Y%3D"}],"group":"cf-nel","max_age":604800}'
|
87
|
+
Nel:
|
88
|
+
- '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}'
|
89
|
+
Strict-Transport-Security:
|
90
|
+
- max-age=31536000; includeSubDomains; preload
|
91
|
+
Server:
|
92
|
+
- cloudflare
|
93
|
+
Cf-Ray:
|
94
|
+
- 7b7cd275cf6b0e3a-AMS
|
95
|
+
Alt-Svc:
|
96
|
+
- h3=":443"; ma=86400, h3-29=":443"; ma=86400
|
97
|
+
body:
|
98
|
+
encoding: UTF-8
|
99
|
+
string: |-
|
100
|
+
[
|
101
|
+
{
|
102
|
+
"DOI": "10.7554",
|
103
|
+
"RA": "Crossref"
|
104
|
+
}
|
105
|
+
]
|
106
|
+
recorded_at: Fri, 14 Apr 2023 15:01:05 GMT
|
107
|
+
recorded_with: VCR 6.1.0
|