commonmeta-ruby 3.3.17 → 3.4.0

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.
Files changed (44) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +37 -50
  3. data/bin/commonmeta +1 -1
  4. data/lib/commonmeta/cli.rb +7 -0
  5. data/lib/commonmeta/crossref_utils.rb +20 -0
  6. data/lib/commonmeta/readers/json_feed_reader.rb +19 -1
  7. data/lib/commonmeta/schema_utils.rb +1 -1
  8. data/lib/commonmeta/utils.rb +6 -4
  9. data/lib/commonmeta/version.rb +1 -1
  10. data/resources/{commonmeta_v0.9.2.json → commonmeta_v0.9.3.json} +32 -2
  11. data/spec/cli_spec.rb +1 -1
  12. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_json_feed_item_metadata/blog_post_with_non-url_id.yml +84 -18
  13. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_json_feed_item_metadata/blogger_post.yml +42 -14
  14. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_json_feed_item_metadata/ghost_post_with_author_name_suffix.yml +184 -55
  15. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_json_feed_item_metadata/ghost_post_with_doi.yml +76 -15
  16. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_json_feed_item_metadata/ghost_post_with_institutional_author.yml +33 -12
  17. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_json_feed_item_metadata/ghost_post_with_organizational_author.yml +44 -11
  18. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_json_feed_item_metadata/ghost_post_with_related_identifiers.yml +366 -0
  19. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_json_feed_item_metadata/ghost_post_without_doi.yml +144 -11
  20. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_json_feed_item_metadata/jekyll_post.yml +42 -13
  21. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_json_feed_item_metadata/jekyll_post_with_anonymous_author.yml +17 -13
  22. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_json_feed_item_metadata/substack_post_with_broken_reference.yml +557 -262
  23. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_json_feed_item_metadata/syldavia_gazette_post_with_references.yml +76 -47
  24. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_json_feed_item_metadata/upstream_post_with_references.yml +303 -123
  25. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_json_feed_item_metadata/wordpress_post.yml +108 -12
  26. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_json_feed_item_metadata/wordpress_post_with_many_references.yml +3048 -441
  27. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_json_feed_item_metadata/wordpress_post_with_references.yml +178 -31
  28. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_json_feed_item_metadata/wordpress_post_with_tracking_code_on_url.yml +139 -17
  29. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_crossref/another_schema_org_from_front-matter.yml +47 -48
  30. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_crossref/journal_article.yml +5 -5
  31. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_crossref/journal_article_from_datacite.yml +7 -7
  32. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_crossref/json_feed_item_from_rogue_scholar_with_anonymous_author.yml +17 -13
  33. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_crossref/json_feed_item_from_rogue_scholar_with_doi.yml +108 -12
  34. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_crossref/json_feed_item_from_rogue_scholar_with_organizational_author.yml +44 -11
  35. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_crossref/json_feed_item_from_rogue_scholar_with_relations.yml +366 -0
  36. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_crossref/json_feed_item_from_upstream_blog.yml +200 -11
  37. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_crossref/json_feed_item_with_references.yml +303 -123
  38. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_crossref/posted_content.yml +16 -16
  39. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_crossref/schema_org_from_another_science_blog.yml +17 -17
  40. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_crossref/schema_org_from_front_matter.yml +111 -113
  41. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_crossref/schema_org_from_upstream_blog.yml +64 -57
  42. data/spec/readers/json_feed_reader_spec.rb +85 -57
  43. data/spec/writers/crossref_xml_writer_spec.rb +76 -40
  44. metadata +6 -4
@@ -23,13 +23,13 @@ http_interactions:
23
23
  Cache-Control:
24
24
  - public, max-age=0, must-revalidate
25
25
  Content-Length:
26
- - '1781'
26
+ - '4387'
27
27
  Content-Type:
28
28
  - application/json; charset=utf-8
29
29
  Date:
30
- - Mon, 10 Jul 2023 21:04:56 GMT
30
+ - Wed, 06 Sep 2023 14:24:39 GMT
31
31
  Etag:
32
- - '"27g5bun4gu1df"'
32
+ - '"139wt2n3zw43d9"'
33
33
  Server:
34
34
  - Vercel
35
35
  Strict-Transport-Security:
@@ -39,7 +39,7 @@ http_interactions:
39
39
  X-Vercel-Cache:
40
40
  - MISS
41
41
  X-Vercel-Id:
42
- - fra1::iad1::k2scp-1689023095925-56ecd54bbfbe
42
+ - fra1::iad1::ddxbj-1694010278585-063d4d41a9e8
43
43
  Connection:
44
44
  - close
45
45
  body:
@@ -49,13 +49,42 @@ http_interactions:
49
49
  Citation Style Language developers have worked to address a backlog of feature
50
50
  requests. This work will be reflected in two upcoming releases. The first
51
51
  of these, 1.0.2, is slated for release shortly. Its focus is on easy to implement,
52
- non-controversial additions, principally new item types, fields, and terms.
53
- We’re seeking public comment on the planned released from now until July 26,
54
- 2020, 12pm EDT. A non-technical summary of the release can be found in a google...","published_at":1594425600,"updated_at":1594425600,"indexed_at":1689006804,"authors":[{"url":null,"name":"Sebastian
55
- Karcher"}],"image":null,"tags":[],"language":"en","reference":[],"blog_id":"prmb582","blog_name":"Citation
56
- Style Language","blog":{"id":"prmb582","title":"Citation Style Language","description":"CitationStyles.org,
57
- home of the Citation Style Language (CSL), a popular open XML-based language
58
- to describe the formatting of citations and bibliographies.","language":"en","favicon":null,"feed_url":"https://citationstyles.org/feed.xml","home_page_url":"https://citationstyles.org/","user_id":"8498eaf6-8c58-4b58-bc15-27eda292b1aa","created_at":"2023-05-31T08:18:29+00:00","indexed_at":"2023-04-25","feed_format":"application/atom+xml","license":"https://creativecommons.org/licenses/by/4.0/legalcode","generator":"Jekyll
59
- 3.9.3","category":"Engineering and Technology","prefix":"10.59350","modified_at":"2020-07-11T00:00:00+00:00","version":"https://jsonfeed.org/version/1.1","backlog":false,"current_feed_url":null,"expired":null}}'
60
- recorded_at: Mon, 10 Jul 2023 21:04:56 GMT
52
+ non-controversial additions, principally new item types, fields, and terms.","content_html":"<p>Over
53
+ the past few months, Citation Style Language developers have worked to address
54
+ a backlog of feature requests. This work will be reflected in two upcoming
55
+ releases. The first of these, 1.0.2, is slated for release shortly. Its focus
56
+ is on easy to implement, non-controversial additions, principally new item
57
+ types, fields, and terms. We’re seeking public comment on the planned released
58
+ from now until <strong>July 26, 2020, 12pm EDT</strong>.</p>\n\n<p>A non-technical
59
+ summary of the release can be found in a <a href=\"https://docs.google.com/document/d/1wY1cOOamDYYh8VNW7h_uleqieBDGOa_LYsRiVdQy1RI/edit#heading=h.wsywjzy5t4j6\">google
60
+ doc here</a>. For more technical details, you can follow the development on
61
+ the <a href=\"https://github.com/orgs/citation-style-language/projects/3\">github
62
+ project board</a>. We welcome feedback directly on the google doc, in specific
63
+ github issues, or on our <a href=\"https://discourse.citationstyles.org/\">forums</a>.</p>\n\n<p>Tremendous
64
+ thanks to Bruce D’Arcus, Denis Maier, and Brenton Wiernik, who did the bulk
65
+ of the work of organizing proposals accumulated over the last 8 years and
66
+ preparing the release.</p>\n\n<h2>Previewing CSL 1.1</h2>\n<p>CSL 1.1, slated
67
+ for release later this year, will include more significant extensions of CSL
68
+ functionality. While we’ll have a separate public comment period for this
69
+ release, we’re happy for input on the ongoing discussions on github and the
70
+ forums. In particular, we’re eager to hear from projects implementing CSL
71
+ styles, both in a citeproc and in user-facing applications such as reference
72
+ managers or citation formatters.</p>\n\n<p>This release will primarily add
73
+ the following new features:</p>\n<ul>\n <li>Full support for narrative citation
74
+ styles (“Like Doe (2018)”).</li>\n <li>Ability to specify more complex conditional
75
+ logic.</li>\n <li>Ability to independently format subtitles and main titles.</li>\n <li>A
76
+ new “related” attribute to express related reviewed and original items (still
77
+ in discussion).</li>\n <li>Improvements to the CSL input format(s):\n <ul>\n <li>Adopting
78
+ the new EDTF ISO standard, which offers full support for date ranges, seasons,
79
+ uncertain and approximate qualifiers, and decades and centuries.</li>\n <li>A
80
+ new “custom” property to add extension metadata.</li>\n <li>New related
81
+ modelling to match the new style attribute (as above, still in discussion).</li>\n <li>An
82
+ official YAML representation, which can be validated with the same JSON schemas.</li>\n </ul>\n </li>\n</ul>","published_at":1594425600,"updated_at":1594425600,"indexed_at":1693251839,"authors":[{"url":"https://orcid.org/0000-0001-8249-7388","name":"Sebastian
83
+ Karcher"}],"image":null,"tags":[],"language":"en","reference":[],"relationships":[],"blog_id":"prmb582","blog_name":"Citation
84
+ Style Language","blog_slug":"csl","blog":{"id":"prmb582","title":"Citation
85
+ Style Language","description":"CitationStyles.org, home of the Citation Style
86
+ Language (CSL), a popular open XML-based language to describe the formatting
87
+ of citations and bibliographies.","language":"en","favicon":"https://citationstyles.org/assets/img/csl-logo-small-inverse-150.png","feed_url":"https://citationstyles.org/feed.xml","home_page_url":"https://citationstyles.org","user_id":"9812a172-7dd2-481a-a82a-50e6ac61da06","created_at":"2023-04-25","feed_format":"application/atom+xml","license":"https://creativecommons.org/licenses/by/4.0/legalcode","generator":"Jekyll
88
+ 3.9.3","category":"computerAndInformationSciences","prefix":"10.59350","modified_at":"2020-07-11T00:00:00+00:00","version":"https://jsonfeed.org/version/1.1","current_feed_url":null,"status":"active","issn":null,"backlog":0,"authors":null,"plan":"Starter","slug":"csl","use_mastodon":false}}'
89
+ recorded_at: Wed, 06 Sep 2023 14:24:39 GMT
61
90
  recorded_with: VCR 6.2.0
@@ -23,13 +23,13 @@ http_interactions:
23
23
  Cache-Control:
24
24
  - public, max-age=0, must-revalidate
25
25
  Content-Length:
26
- - '1597'
26
+ - '2105'
27
27
  Content-Type:
28
28
  - application/json; charset=utf-8
29
29
  Date:
30
- - Mon, 10 Jul 2023 21:04:55 GMT
30
+ - Wed, 06 Sep 2023 14:26:28 GMT
31
31
  Etag:
32
- - '"sjvcj0jty0188"'
32
+ - '"zhstbxmwhv1m8"'
33
33
  Server:
34
34
  - Vercel
35
35
  Strict-Transport-Security:
@@ -39,21 +39,25 @@ http_interactions:
39
39
  X-Vercel-Cache:
40
40
  - MISS
41
41
  X-Vercel-Id:
42
- - fra1::iad1::sf8jw-1689023095200-6920c0302360
42
+ - fra1::iad1::6gq6b-1694010388391-9a051a8960a1
43
43
  Connection:
44
44
  - close
45
45
  body:
46
46
  encoding: UTF-8
47
47
  string: "{\"id\":\"a163e340-5b3c-4736-9ab0-8c54fdff6a3c\",\"doi\":\"https://doi.org/10.59350/33es7-fqz31\",\"url\":\"https://lab.sub.uni-goettingen.de/welcome.html\",\"title\":\"Welcome
48
- to the Lab\",\"summary\":\"Welcome everyone! This is the place to read about
48
+ to the Lab\",\"summary\":\"Welcome everyone! This is the place to read about
49
49
  projects, resources and all the things we deal with at our work on digital
50
50
  collections, databases, APIs, tools and esoteric programming languages we
51
- prefer to write in. It is not meant for a single subject, but covers all topics
52
- we \U0001F496. So I hope you don’t mind if the next post is about one of my
53
- adorable cute rabbits.\",\"published_at\":1483228801,\"updated_at\":1483228801,\"indexed_at\":1689006804,\"authors\":[{\"url\":null,\"name\":\"Mathias
54
- Göbel\"}],\"image\":\"https://lab.sub.uni-goettingen.de/assets/images/Bibliothek_der_UNI_Goettingen-wikiCommons-Suhaknoke.webp\",\"tags\":[\"meta\"],\"language\":\"en\",\"reference\":[],\"blog_id\":\"6hezn63\",\"blog_name\":\"lab.sub
55
- - Articles\",\"blog\":{\"id\":\"6hezn63\",\"title\":\"lab.sub - Articles\",\"description\":\"Better
56
- sit thus, and observe thy strange things\",\"language\":\"en\",\"favicon\":null,\"feed_url\":\"https://lab.sub.uni-goettingen.de/atom.xml\",\"home_page_url\":\"https://lab.sub.uni-goettingen.de/\",\"user_id\":\"8498eaf6-8c58-4b58-bc15-27eda292b1aa\",\"created_at\":\"2023-06-11T08:09:50+00:00\",\"indexed_at\":\"2023-04-24\",\"feed_format\":\"application/atom+xml\",\"license\":\"https://creativecommons.org/licenses/by/4.0/legalcode\",\"generator\":\"Jekyll\",\"category\":\"Engineering
57
- and Technology\",\"prefix\":\"10.59350\",\"modified_at\":\"2023-06-01T00:00:01+00:00\",\"version\":\"https://jsonfeed.org/version/1.1\",\"backlog\":false,\"current_feed_url\":null,\"expired\":null}}"
58
- recorded_at: Mon, 10 Jul 2023 21:04:55 GMT
51
+ prefer to write in. It is <em>not</em> meant for a single subject, but covers
52
+ all topics we \U0001F496. So I hope you don’t mind if the next post is about
53
+ one of my adorable cute rabbits.\",\"content_html\":\"<p>Welcome everyone!</p>
54
+ <p>This is the place to read about projects, resources and all the things
55
+ we deal with at our work on digital collections, databases, APIs, tools and
56
+ esoteric programming languages we prefer to write in. It is <em>not</em> meant
57
+ for a single subject, but covers all topics we \U0001F496. So I hope you don’t
58
+ mind if the next post is about one of my adorable cute rabbits.</p>\",\"published_at\":1483228801,\"updated_at\":1483228801,\"indexed_at\":1689006804,\"authors\":[{\"url\":null,\"name\":\"Mathias
59
+ Göbel\"}],\"image\":\"https://lab.sub.uni-goettingen.de/assets/images/Bibliothek_der_UNI_Goettingen-wikiCommons-Suhaknoke.webp\",\"tags\":[\"Meta\"],\"language\":\"en\",\"reference\":[],\"relationships\":[],\"blog_id\":\"6hezn63\",\"blog_name\":\"lab.sub
60
+ - Articles\",\"blog_slug\":\"lab_sub\",\"blog\":{\"id\":\"6hezn63\",\"title\":\"lab.sub
61
+ - Articles\",\"description\":\"Better sit thus, and observe thy strange things\",\"language\":\"en\",\"favicon\":null,\"feed_url\":\"https://lab.sub.uni-goettingen.de/atom.xml\",\"home_page_url\":\"https://lab.sub.uni-goettingen.de\",\"user_id\":\"dead81b3-8a8b-45c9-85fe-f01bb3948c77\",\"created_at\":\"2023-04-24\",\"feed_format\":\"application/atom+xml\",\"license\":\"https://creativecommons.org/licenses/by/4.0/legalcode\",\"generator\":\"Jekyll\",\"category\":\"computerAndInformationSciences\",\"prefix\":\"10.59350\",\"modified_at\":\"2023-06-01T00:00:01+00:00\",\"version\":\"https://jsonfeed.org/version/1.1\",\"current_feed_url\":null,\"status\":\"active\",\"issn\":null,\"backlog\":0,\"authors\":null,\"plan\":\"Starter\",\"slug\":\"lab_sub\",\"use_mastodon\":false}}"
62
+ recorded_at: Wed, 06 Sep 2023 14:26:28 GMT
59
63
  recorded_with: VCR 6.2.0