relaton 2.2.0.pre.alpha.1 → 3.0.0.pre.alpha.2
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 +4 -4
- data/{docs/README.adoc → README.adoc} +165 -38
- data/bin/console +0 -1
- data/lib/relaton/3gpp/bibdata.rb +9 -0
- data/lib/relaton/3gpp/bibitem.rb +9 -0
- data/lib/relaton/3gpp/bibliography.rb +123 -0
- data/lib/relaton/3gpp/data_fetcher.rb +303 -0
- data/lib/relaton/3gpp/docidentifier.rb +114 -0
- data/lib/relaton/3gpp/doctype.rb +9 -0
- data/lib/relaton/3gpp/ext.rb +31 -0
- data/lib/relaton/3gpp/item.rb +18 -0
- data/lib/relaton/3gpp/item_data.rb +15 -0
- data/lib/relaton/3gpp/parser.rb +400 -0
- data/lib/relaton/3gpp/processor.rb +71 -0
- data/lib/relaton/3gpp/release.rb +34 -0
- data/lib/relaton/3gpp/util.rb +8 -0
- data/lib/relaton/3gpp.rb +29 -0
- data/lib/relaton/adobe/bibdata.rb +8 -0
- data/lib/relaton/adobe/bibitem.rb +8 -0
- data/lib/relaton/adobe/bibliography.rb +92 -0
- data/lib/relaton/adobe/docidentifier.rb +49 -0
- data/lib/relaton/adobe/doctype.rb +14 -0
- data/lib/relaton/adobe/ext.rb +32 -0
- data/lib/relaton/adobe/item.rb +15 -0
- data/lib/relaton/adobe/item_base.rb +18 -0
- data/lib/relaton/adobe/item_data.rb +6 -0
- data/lib/relaton/adobe/processor.rb +45 -0
- data/lib/relaton/adobe/util.rb +8 -0
- data/lib/relaton/adobe.rb +37 -0
- data/lib/relaton/bib/converter/asciibib/to_asciibib.rb +663 -0
- data/lib/relaton/bib/converter/asciibib.rb +13 -0
- data/lib/relaton/bib/converter/bibtex/from_bibtex.rb +245 -0
- data/lib/relaton/bib/converter/bibtex/to_bibtex.rb +341 -0
- data/lib/relaton/bib/converter/bibtex.rb +23 -0
- data/lib/relaton/bib/converter/bibxml/from_rfcxml.rb +386 -0
- data/lib/relaton/bib/converter/bibxml/from_rfcxml_referencegroup.rb +71 -0
- data/lib/relaton/bib/converter/bibxml/to_rfcxml.rb +308 -0
- data/lib/relaton/bib/converter/bibxml/to_rfcxml_referencegroup.rb +52 -0
- data/lib/relaton/bib/converter/bibxml.rb +51 -0
- data/lib/relaton/bib/hash_parser_v1.rb +767 -0
- data/lib/relaton/bib/item_data.rb +229 -0
- data/lib/relaton/bib/model/abstract.rb +16 -0
- data/lib/relaton/bib/model/address.rb +22 -0
- data/lib/relaton/bib/model/affiliation.rb +16 -0
- data/lib/relaton/bib/model/bibdata.rb +11 -0
- data/lib/relaton/bib/model/bibdata_shared.rb +12 -0
- data/lib/relaton/bib/model/bibitem.rb +11 -0
- data/lib/relaton/bib/model/bibitem_shared.rb +12 -0
- data/lib/relaton/bib/model/contact.rb +18 -0
- data/lib/relaton/bib/model/contribution_info.rb +15 -0
- data/lib/relaton/bib/model/contributor.rb +29 -0
- data/lib/relaton/bib/model/copyright.rb +27 -0
- data/lib/relaton/bib/model/date.rb +31 -0
- data/lib/relaton/bib/model/depiction.rb +16 -0
- data/lib/relaton/bib/model/docidentifier.rb +49 -0
- data/lib/relaton/bib/model/doctype.rb +14 -0
- data/lib/relaton/bib/model/edition.rb +14 -0
- data/lib/relaton/bib/model/ext.rb +39 -0
- data/lib/relaton/bib/model/extent.rb +16 -0
- data/lib/relaton/bib/model/formattedref.rb +43 -0
- data/lib/relaton/bib/model/full_name_type.rb +64 -0
- data/lib/relaton/bib/model/fullname.rb +11 -0
- data/lib/relaton/bib/model/ics.rb +49 -0
- data/lib/relaton/bib/model/image.rb +28 -0
- data/lib/relaton/bib/model/item.rb +96 -0
- data/lib/relaton/bib/model/item_base.rb +20 -0
- data/lib/relaton/bib/model/item_shared.rb +88 -0
- data/lib/relaton/bib/model/keyword.rb +30 -0
- data/lib/relaton/bib/model/locality.rb +18 -0
- data/lib/relaton/bib/model/locality_stack.rb +14 -0
- data/lib/relaton/bib/model/localized_string.rb +48 -0
- data/lib/relaton/bib/model/localized_string_attrs.rb +24 -0
- data/lib/relaton/bib/model/logo.rb +14 -0
- data/lib/relaton/bib/model/medium.rb +22 -0
- data/lib/relaton/bib/model/note.rb +16 -0
- data/lib/relaton/bib/model/organization.rb +13 -0
- data/lib/relaton/bib/model/organization_type.rb +42 -0
- data/lib/relaton/bib/model/person.rb +36 -0
- data/lib/relaton/bib/model/phone.rb +14 -0
- data/lib/relaton/bib/model/place.rb +33 -0
- data/lib/relaton/bib/model/price.rb +14 -0
- data/lib/relaton/bib/model/relation.rb +43 -0
- data/lib/relaton/bib/model/series.rb +34 -0
- data/lib/relaton/bib/model/size.rb +23 -0
- data/lib/relaton/bib/model/source_locality_stack.rb +14 -0
- data/lib/relaton/bib/model/status.rb +27 -0
- data/lib/relaton/bib/model/structured_identifier.rb +49 -0
- data/lib/relaton/bib/model/subdivision.rb +16 -0
- data/lib/relaton/bib/model/title.rb +56 -0
- data/lib/relaton/bib/model/type/plain_date.rb +16 -0
- data/lib/relaton/bib/model/type/string_date.rb +48 -0
- data/lib/relaton/bib/model/uri.rb +18 -0
- data/lib/relaton/bib/model/validity.rb +16 -0
- data/lib/relaton/bib/model/version.rb +43 -0
- data/lib/relaton/bib/namespace_helper.rb +21 -0
- data/lib/relaton/bib/sanitizer.rb +264 -0
- data/lib/relaton/bib/util.rb +18 -0
- data/lib/relaton/bib/versions.json +35 -0
- data/lib/relaton/bib.rb +46 -0
- data/lib/relaton/bipm/bibliography.rb +231 -0
- data/lib/relaton/bipm/converter/asciibib.rb +64 -0
- data/lib/relaton/bipm/data_fetcher.rb +81 -0
- data/lib/relaton/bipm/data_outcomes_parser.rb +656 -0
- data/lib/relaton/bipm/id_parser.rb +278 -0
- data/lib/relaton/bipm/item_data.rb +47 -0
- data/lib/relaton/bipm/model/bibdata.rb +9 -0
- data/lib/relaton/bipm/model/bibitem.rb +9 -0
- data/lib/relaton/bipm/model/comment_period.rb +13 -0
- data/lib/relaton/bipm/model/doctype.rb +12 -0
- data/lib/relaton/bipm/model/ext.rb +38 -0
- data/lib/relaton/bipm/model/item.rb +11 -0
- data/lib/relaton/bipm/model/structured_identifier.rb +36 -0
- data/lib/relaton/bipm/processor.rb +69 -0
- data/lib/relaton/bipm/rawdata_bipm_metrologia/affiliations.rb +111 -0
- data/lib/relaton/bipm/rawdata_bipm_metrologia/fetcher.rb +172 -0
- data/lib/relaton/bipm/rawdata_bipm_metrologia/niso_jats_parser.rb +353 -0
- data/lib/relaton/bipm/si_brochure_parser.rb +188 -0
- data/lib/relaton/bipm/util.rb +8 -0
- data/lib/relaton/bipm.rb +38 -0
- data/lib/relaton/bsi/bibliography.rb +196 -0
- data/lib/relaton/bsi/hit.rb +28 -0
- data/lib/relaton/bsi/hit_collection.rb +113 -0
- data/lib/relaton/bsi/item_data.rb +13 -0
- data/lib/relaton/bsi/model/bibdata.rb +8 -0
- data/lib/relaton/bsi/model/bibitem.rb +8 -0
- data/lib/relaton/bsi/model/docidentifier.rb +107 -0
- data/lib/relaton/bsi/model/doctype.rb +14 -0
- data/lib/relaton/bsi/model/ext.rb +17 -0
- data/lib/relaton/bsi/model/item.rb +17 -0
- data/lib/relaton/bsi/model/item_base.rb +22 -0
- data/lib/relaton/bsi/model/relation.rb +9 -0
- data/lib/relaton/bsi/processor.rb +43 -0
- data/lib/relaton/bsi/schema.json +24882 -0
- data/lib/relaton/bsi/scraper.rb +288 -0
- data/lib/relaton/bsi/util.rb +8 -0
- data/lib/relaton/bsi.rb +25 -0
- data/lib/relaton/calconnect/bibliography.rb +93 -0
- data/lib/relaton/calconnect/data_fetcher.rb +174 -0
- data/lib/relaton/calconnect/docidentifier.rb +80 -0
- data/lib/relaton/calconnect/hit.rb +14 -0
- data/lib/relaton/calconnect/hit_collection.rb +92 -0
- data/lib/relaton/calconnect/item_data.rb +12 -0
- data/lib/relaton/calconnect/model/bibdata.rb +8 -0
- data/lib/relaton/calconnect/model/bibitem.rb +8 -0
- data/lib/relaton/calconnect/model/doctype.rb +11 -0
- data/lib/relaton/calconnect/model/ext.rb +11 -0
- data/lib/relaton/calconnect/model/item.rb +20 -0
- data/lib/relaton/calconnect/processor.rb +72 -0
- data/lib/relaton/calconnect/scraper.rb +87 -0
- data/lib/relaton/calconnect/util.rb +8 -0
- data/lib/relaton/calconnect.rb +36 -0
- data/lib/relaton/ccsds/bibliography.rb +63 -0
- data/lib/relaton/ccsds/data/fetcher.rb +252 -0
- data/lib/relaton/ccsds/data/iso_references.rb +30 -0
- data/lib/relaton/ccsds/data/parser.rb +194 -0
- data/lib/relaton/ccsds/hit.rb +24 -0
- data/lib/relaton/ccsds/hit_collection.rb +47 -0
- data/lib/relaton/ccsds/item_data.rb +9 -0
- data/lib/relaton/ccsds/model/bibdata.rb +8 -0
- data/lib/relaton/ccsds/model/bibitem.rb +8 -0
- data/lib/relaton/ccsds/model/docidentifier.rb +121 -0
- data/lib/relaton/ccsds/model/doctype.rb +9 -0
- data/lib/relaton/ccsds/model/ext.rb +19 -0
- data/lib/relaton/ccsds/model/item.rb +15 -0
- data/lib/relaton/ccsds/processor.rb +68 -0
- data/lib/relaton/ccsds/util.rb +10 -0
- data/lib/relaton/ccsds.rb +33 -0
- data/lib/relaton/cen/bibliography.rb +149 -0
- data/lib/relaton/cen/committees.yaml +66 -0
- data/lib/relaton/cen/hit.rb +31 -0
- data/lib/relaton/cen/hit_collection.rb +116 -0
- data/lib/relaton/cen/item_data.rb +7 -0
- data/lib/relaton/cen/model/bibdata.rb +8 -0
- data/lib/relaton/cen/model/bibitem.rb +8 -0
- data/lib/relaton/cen/model/docidentifier.rb +100 -0
- data/lib/relaton/cen/model/ext.rb +11 -0
- data/lib/relaton/cen/model/item.rb +14 -0
- data/lib/relaton/cen/model/structured_identifier.rb +9 -0
- data/lib/relaton/cen/processor.rb +45 -0
- data/lib/relaton/cen/scraper.rb +218 -0
- data/lib/relaton/cen/util.rb +8 -0
- data/lib/relaton/cen.rb +30 -0
- data/lib/relaton/cie/bibdata.rb +8 -0
- data/lib/relaton/cie/bibitem.rb +8 -0
- data/lib/relaton/cie/bibliography.rb +31 -0
- data/lib/relaton/cie/data_fetcher.rb +540 -0
- data/lib/relaton/cie/ext.rb +7 -0
- data/lib/relaton/cie/item.rb +11 -0
- data/lib/relaton/cie/item_data.rb +6 -0
- data/lib/relaton/cie/processor.rb +68 -0
- data/lib/relaton/cie/scrapper.rb +52 -0
- data/lib/relaton/cie/util.rb +8 -0
- data/lib/relaton/cie.rb +29 -0
- data/lib/relaton/core/array_wrapper.rb +20 -0
- data/lib/relaton/core/data_fetcher.rb +244 -0
- data/lib/relaton/core/date_parser.rb +42 -0
- data/lib/relaton/core/governor.rb +320 -0
- data/lib/relaton/core/hash_keys_sybolizer.rb +19 -0
- data/lib/relaton/core/hit.rb +49 -0
- data/lib/relaton/core/hit_collection.rb +118 -0
- data/lib/relaton/core/pacer.rb +134 -0
- data/lib/relaton/core/processor.rb +67 -0
- data/lib/relaton/core/request_error.rb +14 -0
- data/lib/relaton/core/workers_pool.rb +45 -0
- data/lib/relaton/core.rb +12 -0
- data/lib/relaton/db/registry.rb +44 -4
- data/lib/relaton/db.rb +0 -1
- data/lib/relaton/doi/crossref.rb +89 -0
- data/lib/relaton/doi/parser.rb +921 -0
- data/lib/relaton/doi/processor.rb +65 -0
- data/lib/relaton/doi/util.rb +8 -0
- data/lib/relaton/doi.rb +20 -0
- data/lib/relaton/easc/bibdata.rb +8 -0
- data/lib/relaton/easc/bibitem.rb +8 -0
- data/lib/relaton/easc/bibliography.rb +95 -0
- data/lib/relaton/easc/docidentifier.rb +100 -0
- data/lib/relaton/easc/doctype.rb +14 -0
- data/lib/relaton/easc/ext.rb +44 -0
- data/lib/relaton/easc/item.rb +13 -0
- data/lib/relaton/easc/item_base.rb +18 -0
- data/lib/relaton/easc/item_data.rb +6 -0
- data/lib/relaton/easc/processor.rb +46 -0
- data/lib/relaton/easc/util.rb +8 -0
- data/lib/relaton/easc.rb +35 -0
- data/lib/relaton/ecma/bibdata.rb +8 -0
- data/lib/relaton/ecma/bibitem.rb +8 -0
- data/lib/relaton/ecma/bibliography.rb +149 -0
- data/lib/relaton/ecma/data_fetcher.rb +162 -0
- data/lib/relaton/ecma/data_parser.rb +49 -0
- data/lib/relaton/ecma/docidentifier.rb +124 -0
- data/lib/relaton/ecma/edition_parser.rb +80 -0
- data/lib/relaton/ecma/ext.rb +7 -0
- data/lib/relaton/ecma/item.rb +13 -0
- data/lib/relaton/ecma/item_data.rb +6 -0
- data/lib/relaton/ecma/memento_parser.rb +60 -0
- data/lib/relaton/ecma/page_fetcher.rb +39 -0
- data/lib/relaton/ecma/parser_common.rb +33 -0
- data/lib/relaton/ecma/processor.rb +69 -0
- data/lib/relaton/ecma/standard_parser.rb +134 -0
- data/lib/relaton/ecma/util.rb +8 -0
- data/lib/relaton/ecma.rb +33 -0
- data/lib/relaton/etsi/bibdata.rb +10 -0
- data/lib/relaton/etsi/bibitem.rb +10 -0
- data/lib/relaton/etsi/bibliography.rb +111 -0
- data/lib/relaton/etsi/data_fetcher.rb +167 -0
- data/lib/relaton/etsi/data_parser.rb +208 -0
- data/lib/relaton/etsi/doctype.rb +30 -0
- data/lib/relaton/etsi/ext.rb +31 -0
- data/lib/relaton/etsi/item.rb +15 -0
- data/lib/relaton/etsi/item_data.rb +6 -0
- data/lib/relaton/etsi/processor.rb +71 -0
- data/lib/relaton/etsi/pubid.rb +37 -0
- data/lib/relaton/etsi/status.rb +13 -0
- data/lib/relaton/etsi/util.rb +8 -0
- data/lib/relaton/etsi.rb +26 -0
- data/lib/relaton/gb/bibdata.rb +8 -0
- data/lib/relaton/gb/bibitem.rb +8 -0
- data/lib/relaton/gb/bibliography.rb +171 -0
- data/lib/relaton/gb/ccs.rb +14 -0
- data/lib/relaton/gb/committee.rb +13 -0
- data/lib/relaton/gb/docidentifier.rb +72 -0
- data/lib/relaton/gb/doctype.rb +9 -0
- data/lib/relaton/gb/ext.rb +36 -0
- data/lib/relaton/gb/gb_scraper.rb +61 -0
- data/lib/relaton/gb/gb_type.rb +20 -0
- data/lib/relaton/gb/hit.rb +48 -0
- data/lib/relaton/gb/hit_collection.rb +19 -0
- data/lib/relaton/gb/item.rb +13 -0
- data/lib/relaton/gb/item_data.rb +6 -0
- data/lib/relaton/gb/processor.rb +49 -0
- data/lib/relaton/gb/project_number.rb +38 -0
- data/lib/relaton/gb/scraper.rb +221 -0
- data/lib/relaton/gb/sec_scraper.rb +92 -0
- data/lib/relaton/gb/stage_name.rb +13 -0
- data/lib/relaton/gb/structured_identifier.rb +26 -0
- data/lib/relaton/gb/t_scraper.rb +126 -0
- data/lib/relaton/gb/util.rb +8 -0
- data/lib/relaton/gb/yaml/prefixes.yaml +200 -0
- data/lib/relaton/gb.rb +33 -0
- data/lib/relaton/gost/bibdata.rb +8 -0
- data/lib/relaton/gost/bibitem.rb +8 -0
- data/lib/relaton/gost/bibliography.rb +107 -0
- data/lib/relaton/gost/docidentifier.rb +80 -0
- data/lib/relaton/gost/doctype.rb +16 -0
- data/lib/relaton/gost/ext.rb +46 -0
- data/lib/relaton/gost/item.rb +15 -0
- data/lib/relaton/gost/item_base.rb +18 -0
- data/lib/relaton/gost/item_data.rb +6 -0
- data/lib/relaton/gost/processor.rb +49 -0
- data/lib/relaton/gost/util.rb +8 -0
- data/lib/relaton/gost.rb +36 -0
- data/lib/relaton/iala/bibdata.rb +8 -0
- data/lib/relaton/iala/bibitem.rb +8 -0
- data/lib/relaton/iala/bibliography.rb +146 -0
- data/lib/relaton/iala/docidentifier.rb +89 -0
- data/lib/relaton/iala/doctype.rb +18 -0
- data/lib/relaton/iala/ext.rb +32 -0
- data/lib/relaton/iala/item.rb +21 -0
- data/lib/relaton/iala/item_base.rb +18 -0
- data/lib/relaton/iala/item_data.rb +6 -0
- data/lib/relaton/iala/processor.rb +43 -0
- data/lib/relaton/iala/relation.rb +7 -0
- data/lib/relaton/iala/util.rb +8 -0
- data/lib/relaton/iala.rb +35 -0
- data/lib/relaton/iana/bibdata.rb +8 -0
- data/lib/relaton/iana/bibitem.rb +8 -0
- data/lib/relaton/iana/bibliography.rb +100 -0
- data/lib/relaton/iana/data_fetcher.rb +101 -0
- data/lib/relaton/iana/item.rb +7 -0
- data/lib/relaton/iana/item_data.rb +6 -0
- data/lib/relaton/iana/parser.rb +146 -0
- data/lib/relaton/iana/processor.rb +70 -0
- data/lib/relaton/iana/util.rb +8 -0
- data/lib/relaton/iana.rb +40 -0
- data/lib/relaton/iec/bibliography.rb +283 -0
- data/lib/relaton/iec/data_fetcher.rb +222 -0
- data/lib/relaton/iec/data_parser.rb +391 -0
- data/lib/relaton/iec/hit.rb +26 -0
- data/lib/relaton/iec/hit_collection.rb +138 -0
- data/lib/relaton/iec/item_data.rb +7 -0
- data/lib/relaton/iec/model/bibdata.rb +8 -0
- data/lib/relaton/iec/model/bibitem.rb +8 -0
- data/lib/relaton/iec/model/docidentifier.rb +135 -0
- data/lib/relaton/iec/model/doctype.rb +12 -0
- data/lib/relaton/iec/model/ext.rb +53 -0
- data/lib/relaton/iec/model/item.rb +20 -0
- data/lib/relaton/iec/model/item_base.rb +12 -0
- data/lib/relaton/iec/model/relation.rb +7 -0
- data/lib/relaton/iec/model/stage_name.rb +13 -0
- data/lib/relaton/iec/processor.rb +74 -0
- data/lib/relaton/iec/statuses.yml +199 -0
- data/lib/relaton/iec/util.rb +8 -0
- data/lib/relaton/iec.rb +98 -0
- data/lib/relaton/ieee/balloting_group.rb +13 -0
- data/lib/relaton/ieee/bibdata.rb +8 -0
- data/lib/relaton/ieee/bibitem.rb +8 -0
- data/lib/relaton/ieee/bibliography.rb +73 -0
- data/lib/relaton/ieee/converter/bibxml/from_rfcxml.rb +10 -0
- data/lib/relaton/ieee/converter/bibxml/from_rfcxml_referencegroup.rb +10 -0
- data/lib/relaton/ieee/converter/bibxml.rb +20 -0
- data/lib/relaton/ieee/data_fetcher.rb +771 -0
- data/lib/relaton/ieee/doctype.rb +9 -0
- data/lib/relaton/ieee/editorial_group.rb +19 -0
- data/lib/relaton/ieee/ext.rb +36 -0
- data/lib/relaton/ieee/idams_parser.rb +330 -0
- data/lib/relaton/ieee/item.rb +11 -0
- data/lib/relaton/ieee/item_data.rb +7 -0
- data/lib/relaton/ieee/processor.rb +71 -0
- data/lib/relaton/ieee/rawbib_id_parser.rb +753 -0
- data/lib/relaton/ieee/util.rb +8 -0
- data/lib/relaton/ieee.rb +30 -0
- data/lib/relaton/ietf/bibdata.rb +8 -0
- data/lib/relaton/ietf/bibitem.rb +8 -0
- data/lib/relaton/ietf/bibliography.rb +35 -0
- data/lib/relaton/ietf/bibxml_parser.rb +232 -0
- data/lib/relaton/ietf/data_fetcher.rb +561 -0
- data/lib/relaton/ietf/doctype.rb +9 -0
- data/lib/relaton/ietf/ext.rb +63 -0
- data/lib/relaton/ietf/item.rb +16 -0
- data/lib/relaton/ietf/item_base.rb +18 -0
- data/lib/relaton/ietf/item_data.rb +6 -0
- data/lib/relaton/ietf/processing_instructions.rb +79 -0
- data/lib/relaton/ietf/processor.rb +72 -0
- data/lib/relaton/ietf/relation.rb +9 -0
- data/lib/relaton/ietf/rfc/abstract.rb +19 -0
- data/lib/relaton/ietf/rfc/author.rb +21 -0
- data/lib/relaton/ietf/rfc/entry.rb +446 -0
- data/lib/relaton/ietf/rfc/entry_date.rb +21 -0
- data/lib/relaton/ietf/rfc/format.rb +19 -0
- data/lib/relaton/ietf/rfc/index.rb +46 -0
- data/lib/relaton/ietf/rfc/is_also.rb +21 -0
- data/lib/relaton/ietf/rfc/keywords.rb +19 -0
- data/lib/relaton/ietf/rfc/rfc_index_namespace.rb +11 -0
- data/lib/relaton/ietf/scraper.rb +101 -0
- data/lib/relaton/ietf/util.rb +8 -0
- data/lib/relaton/ietf/wg_name_resolver.rb +42 -0
- data/lib/relaton/ietf.rb +30 -0
- data/lib/relaton/iho/bibdata.rb +8 -0
- data/lib/relaton/iho/bibitem.rb +8 -0
- data/lib/relaton/iho/bibliography.rb +114 -0
- data/lib/relaton/iho/comment_period.rb +13 -0
- data/lib/relaton/iho/docidentifier.rb +31 -0
- data/lib/relaton/iho/doctype.rb +10 -0
- data/lib/relaton/iho/ext.rb +20 -0
- data/lib/relaton/iho/hash_parser_v1.rb +144 -0
- data/lib/relaton/iho/item.rb +20 -0
- data/lib/relaton/iho/item_base.rb +18 -0
- data/lib/relaton/iho/item_data.rb +6 -0
- data/lib/relaton/iho/processor.rb +54 -0
- data/lib/relaton/iho/relation.rb +9 -0
- data/lib/relaton/iho/structured_identifier.rb +20 -0
- data/lib/relaton/iho/util.rb +8 -0
- data/lib/relaton/iho.rb +27 -0
- data/lib/relaton/index/config.rb +52 -0
- data/lib/relaton/index/file_io.rb +305 -0
- data/lib/relaton/index/file_storage.rb +66 -0
- data/lib/relaton/index/pool.rb +46 -0
- data/lib/relaton/index/shard_source.rb +201 -0
- data/lib/relaton/index/type.rb +210 -0
- data/lib/relaton/index/util.rb +18 -0
- data/lib/relaton/index.rb +61 -0
- data/lib/relaton/isbn/isbn.rb +61 -0
- data/lib/relaton/isbn/open_library.rb +43 -0
- data/lib/relaton/isbn/parser.rb +88 -0
- data/lib/relaton/isbn/processor.rb +48 -0
- data/lib/relaton/isbn/util.rb +8 -0
- data/lib/relaton/isbn.rb +19 -0
- data/lib/relaton/iso/bibliography.rb +412 -0
- data/lib/relaton/iso/data_fetcher.rb +338 -0
- data/lib/relaton/iso/data_parser.rb +458 -0
- data/lib/relaton/iso/hash_parser_v1.rb +177 -0
- data/lib/relaton/iso/hit.rb +57 -0
- data/lib/relaton/iso/hit_collection.rb +196 -0
- data/lib/relaton/iso/item_data.rb +50 -0
- data/lib/relaton/iso/model/bibdata.rb +10 -0
- data/lib/relaton/iso/model/bibitem.rb +8 -0
- data/lib/relaton/iso/model/contributor.rb +6 -0
- data/lib/relaton/iso/model/contributor_info.rb +9 -0
- data/lib/relaton/iso/model/docidentifier.rb +146 -0
- data/lib/relaton/iso/model/doctype.rb +13 -0
- data/lib/relaton/iso/model/ext.rb +35 -0
- data/lib/relaton/iso/model/item.rb +17 -0
- data/lib/relaton/iso/model/item_base.rb +22 -0
- data/lib/relaton/iso/model/organization.rb +9 -0
- data/lib/relaton/iso/model/project_number.rb +22 -0
- data/lib/relaton/iso/model/relation.rb +9 -0
- data/lib/relaton/iso/model/stagename.rb +14 -0
- data/lib/relaton/iso/model/structured_identifier.rb +31 -0
- data/lib/relaton/iso/processor.rb +85 -0
- data/lib/relaton/iso/scraper.rb +635 -0
- data/lib/relaton/iso/type/pubid.rb +50 -0
- data/lib/relaton/iso/util.rb +8 -0
- data/lib/relaton/iso.rb +30 -0
- data/lib/relaton/itu/bibliography.rb +95 -0
- data/lib/relaton/itu/data_crawler_r.rb +664 -0
- data/lib/relaton/itu/data_fetcher.rb +550 -0
- data/lib/relaton/itu/data_merge_r.rb +149 -0
- data/lib/relaton/itu/data_parser_r.rb +214 -0
- data/lib/relaton/itu/data_parser_t.rb +228 -0
- data/lib/relaton/itu/family_cache.rb +177 -0
- data/lib/relaton/itu/governor.rb +56 -0
- data/lib/relaton/itu/hit.rb +28 -0
- data/lib/relaton/itu/hit_collection.rb +299 -0
- data/lib/relaton/itu/item_data.rb +6 -0
- data/lib/relaton/itu/model/approval_stage.rb +13 -0
- data/lib/relaton/itu/model/bibdata.rb +8 -0
- data/lib/relaton/itu/model/bibitem.rb +8 -0
- data/lib/relaton/itu/model/docidentifier.rb +75 -0
- data/lib/relaton/itu/model/doctype.rb +13 -0
- data/lib/relaton/itu/model/ext.rb +47 -0
- data/lib/relaton/itu/model/item.rb +13 -0
- data/lib/relaton/itu/model/meeting.rb +13 -0
- data/lib/relaton/itu/model/meeting_date.rb +15 -0
- data/lib/relaton/itu/model/question.rb +13 -0
- data/lib/relaton/itu/model/recommendation_status.rb +11 -0
- data/lib/relaton/itu/model/structured_identifier.rb +38 -0
- data/lib/relaton/itu/processor.rb +72 -0
- data/lib/relaton/itu/pubid.rb +199 -0
- data/lib/relaton/itu/radio_regulations_parser.rb +70 -0
- data/lib/relaton/itu/recommendation_fields.rb +334 -0
- data/lib/relaton/itu/recommendation_parser.rb +30 -0
- data/lib/relaton/itu/scraper.rb +203 -0
- data/lib/relaton/itu/util.rb +8 -0
- data/lib/relaton/itu.rb +34 -0
- data/lib/relaton/jcgm/bibdata.rb +8 -0
- data/lib/relaton/jcgm/bibitem.rb +8 -0
- data/lib/relaton/jcgm/bibliography.rb +97 -0
- data/lib/relaton/jcgm/data_fetcher.rb +81 -0
- data/lib/relaton/jcgm/docidentifier.rb +102 -0
- data/lib/relaton/jcgm/doctype.rb +12 -0
- data/lib/relaton/jcgm/ext.rb +23 -0
- data/lib/relaton/jcgm/item.rb +20 -0
- data/lib/relaton/jcgm/item_base.rb +18 -0
- data/lib/relaton/jcgm/item_data.rb +6 -0
- data/lib/relaton/jcgm/meetings_parser.rb +175 -0
- data/lib/relaton/jcgm/processor.rb +71 -0
- data/lib/relaton/jcgm/relation.rb +9 -0
- data/lib/relaton/jcgm/structured_identifier.rb +40 -0
- data/lib/relaton/jcgm/util.rb +8 -0
- data/lib/relaton/jcgm.rb +24 -0
- data/lib/relaton/jis/bibdata.rb +8 -0
- data/lib/relaton/jis/bibitem.rb +8 -0
- data/lib/relaton/jis/bibliography.rb +73 -0
- data/lib/relaton/jis/data_fetcher.rb +183 -0
- data/lib/relaton/jis/docidentifier.rb +120 -0
- data/lib/relaton/jis/doctype.rb +9 -0
- data/lib/relaton/jis/ext.rb +13 -0
- data/lib/relaton/jis/hit.rb +88 -0
- data/lib/relaton/jis/hit_collection.rb +128 -0
- data/lib/relaton/jis/item.rb +22 -0
- data/lib/relaton/jis/item_base.rb +26 -0
- data/lib/relaton/jis/item_data.rb +8 -0
- data/lib/relaton/jis/processor.rb +55 -0
- data/lib/relaton/jis/relation.rb +11 -0
- data/lib/relaton/jis/scraper.rb +232 -0
- data/lib/relaton/jis/structured_identifier.rb +13 -0
- data/lib/relaton/jis/util.rb +8 -0
- data/lib/relaton/jis.rb +32 -0
- data/lib/relaton/logger/channels/gh_issue.rb +143 -0
- data/lib/relaton/logger/config.rb +34 -0
- data/lib/relaton/logger/formatter_json.rb +8 -0
- data/lib/relaton/logger/formatter_string.rb +12 -0
- data/lib/relaton/logger/log.rb +64 -0
- data/lib/relaton/logger/log_device.rb +27 -0
- data/lib/relaton/logger/pool.rb +24 -0
- data/lib/relaton/logger.rb +18 -0
- data/lib/relaton/nist/bibdata.rb +8 -0
- data/lib/relaton/nist/bibitem.rb +8 -0
- data/lib/relaton/nist/bibliography.rb +191 -0
- data/lib/relaton/nist/comment_period.rb +15 -0
- data/lib/relaton/nist/data_fetcher.rb +134 -0
- data/lib/relaton/nist/date.rb +7 -0
- data/lib/relaton/nist/docidentifier.rb +165 -0
- data/lib/relaton/nist/doctype.rb +7 -0
- data/lib/relaton/nist/ext.rb +16 -0
- data/lib/relaton/nist/hit.rb +18 -0
- data/lib/relaton/nist/hit_collection.rb +362 -0
- data/lib/relaton/nist/item.rb +19 -0
- data/lib/relaton/nist/item_base.rb +16 -0
- data/lib/relaton/nist/item_data.rb +6 -0
- data/lib/relaton/nist/mods_parser.rb +302 -0
- data/lib/relaton/nist/processor.rb +69 -0
- data/lib/relaton/nist/pubs_export.rb +69 -0
- data/lib/relaton/nist/relation.rb +10 -0
- data/lib/relaton/nist/scraper.rb +293 -0
- data/lib/relaton/nist/series.yaml +49 -0
- data/lib/relaton/nist/util.rb +8 -0
- data/lib/relaton/nist.rb +34 -0
- data/lib/relaton/oasis/bibdata.rb +8 -0
- data/lib/relaton/oasis/bibitem.rb +8 -0
- data/lib/relaton/oasis/bibliography.rb +201 -0
- data/lib/relaton/oasis/browser_agent.rb +71 -0
- data/lib/relaton/oasis/data_fetcher.rb +130 -0
- data/lib/relaton/oasis/data_parser.rb +305 -0
- data/lib/relaton/oasis/data_parser_utils.rb +330 -0
- data/lib/relaton/oasis/data_part_parser.rb +239 -0
- data/lib/relaton/oasis/docidentifier.rb +54 -0
- data/lib/relaton/oasis/doctype.rb +7 -0
- data/lib/relaton/oasis/ext.rb +19 -0
- data/lib/relaton/oasis/item.rb +14 -0
- data/lib/relaton/oasis/item_data.rb +6 -0
- data/lib/relaton/oasis/processor.rb +74 -0
- data/lib/relaton/oasis/util.rb +8 -0
- data/lib/relaton/oasis.rb +41 -0
- data/lib/relaton/ogc/bibdata.rb +8 -0
- data/lib/relaton/ogc/bibitem.rb +8 -0
- data/lib/relaton/ogc/bibliography.rb +64 -0
- data/lib/relaton/ogc/data_fetcher.rb +131 -0
- data/lib/relaton/ogc/docidentifier.rb +111 -0
- data/lib/relaton/ogc/doctype.rb +12 -0
- data/lib/relaton/ogc/ext.rb +15 -0
- data/lib/relaton/ogc/hit.rb +18 -0
- data/lib/relaton/ogc/hit_collection.rb +111 -0
- data/lib/relaton/ogc/item.rb +13 -0
- data/lib/relaton/ogc/item_data.rb +6 -0
- data/lib/relaton/ogc/processor.rb +59 -0
- data/lib/relaton/ogc/scraper.rb +225 -0
- data/lib/relaton/ogc/util.rb +8 -0
- data/lib/relaton/ogc.rb +30 -0
- data/lib/relaton/oiml/bibdata.rb +8 -0
- data/lib/relaton/oiml/bibitem.rb +8 -0
- data/lib/relaton/oiml/bibliography.rb +169 -0
- data/lib/relaton/oiml/docidentifier.rb +48 -0
- data/lib/relaton/oiml/doctype.rb +13 -0
- data/lib/relaton/oiml/ext.rb +42 -0
- data/lib/relaton/oiml/item.rb +20 -0
- data/lib/relaton/oiml/item_base.rb +18 -0
- data/lib/relaton/oiml/item_data.rb +6 -0
- data/lib/relaton/oiml/processor.rb +54 -0
- data/lib/relaton/oiml/relation.rb +9 -0
- data/lib/relaton/oiml/util.rb +8 -0
- data/lib/relaton/oiml.rb +24 -0
- data/lib/relaton/omg/bibdata.rb +8 -0
- data/lib/relaton/omg/bibitem.rb +8 -0
- data/lib/relaton/omg/bibliography.rb +31 -0
- data/lib/relaton/omg/docidentifier.rb +67 -0
- data/lib/relaton/omg/ext.rb +7 -0
- data/lib/relaton/omg/item.rb +9 -0
- data/lib/relaton/omg/item_data.rb +6 -0
- data/lib/relaton/omg/processor.rb +35 -0
- data/lib/relaton/omg/scraper.rb +186 -0
- data/lib/relaton/omg/util.rb +8 -0
- data/lib/relaton/omg.rb +25 -0
- data/lib/relaton/plateau/bibdata.rb +8 -0
- data/lib/relaton/plateau/bibitem.rb +8 -0
- data/lib/relaton/plateau/bibliography.rb +31 -0
- data/lib/relaton/plateau/data_fetcher.rb +176 -0
- data/lib/relaton/plateau/doctype.rb +7 -0
- data/lib/relaton/plateau/ext.rb +23 -0
- data/lib/relaton/plateau/handbook_parser.rb +102 -0
- data/lib/relaton/plateau/hit.rb +21 -0
- data/lib/relaton/plateau/hit_collection.rb +79 -0
- data/lib/relaton/plateau/item.rb +12 -0
- data/lib/relaton/plateau/item_data.rb +6 -0
- data/lib/relaton/plateau/parser.rb +101 -0
- data/lib/relaton/plateau/processor.rb +51 -0
- data/lib/relaton/plateau/technical_report_parser.rb +98 -0
- data/lib/relaton/plateau/util.rb +8 -0
- data/lib/relaton/plateau.rb +29 -0
- data/lib/relaton/sdo/config.rb +34 -0
- data/lib/relaton/sdo/fetcher.rb +52 -0
- data/lib/relaton/sdo/logo.rb +95 -0
- data/lib/relaton/sdo/name.rb +26 -0
- data/lib/relaton/sdo/organization.rb +71 -0
- data/lib/relaton/sdo/store.rb +49 -0
- data/lib/relaton/sdo.rb +29 -0
- data/lib/relaton/un/bibdata.rb +8 -0
- data/lib/relaton/un/bibitem.rb +8 -0
- data/lib/relaton/un/bibliography.rb +48 -0
- data/lib/relaton/un/doctype.rb +10 -0
- data/lib/relaton/un/ext.rb +30 -0
- data/lib/relaton/un/hit.rb +56 -0
- data/lib/relaton/un/hit_collection.rb +61 -0
- data/lib/relaton/un/item.rb +11 -0
- data/lib/relaton/un/item_data.rb +6 -0
- data/lib/relaton/un/parser.rb +108 -0
- data/lib/relaton/un/processor.rb +38 -0
- data/lib/relaton/un/session.rb +25 -0
- data/lib/relaton/un/token_generator.rb +105 -0
- data/lib/relaton/un/util.rb +8 -0
- data/lib/relaton/un/wasm/decoder.rb +434 -0
- data/lib/relaton/un/wasm/instance.rb +101 -0
- data/lib/relaton/un/wasm/interpreter.rb +613 -0
- data/lib/relaton/un/wasm/memory.rb +112 -0
- data/lib/relaton/un/wasm/module.rb +47 -0
- data/lib/relaton/un/wasm.rb +17 -0
- data/lib/relaton/un/wasm_v_bg.wasm +0 -0
- data/lib/relaton/un.rb +28 -0
- data/lib/relaton/version.rb +1 -1
- data/lib/relaton/w3c/bibdata.rb +8 -0
- data/lib/relaton/w3c/bibitem.rb +8 -0
- data/lib/relaton/w3c/bibliography.rb +174 -0
- data/lib/relaton/w3c/data_fetcher.rb +487 -0
- data/lib/relaton/w3c/data_parser.rb +379 -0
- data/lib/relaton/w3c/docidentifier.rb +48 -0
- data/lib/relaton/w3c/doctype.rb +7 -0
- data/lib/relaton/w3c/ext.rb +11 -0
- data/lib/relaton/w3c/governor.rb +32 -0
- data/lib/relaton/w3c/item.rb +15 -0
- data/lib/relaton/w3c/item_data.rb +6 -0
- data/lib/relaton/w3c/processor.rb +49 -0
- data/lib/relaton/w3c/pubid.rb +85 -0
- data/lib/relaton/w3c/safe_realize.rb +148 -0
- data/lib/relaton/w3c/util.rb +8 -0
- data/lib/relaton/w3c.rb +36 -0
- data/lib/relaton/xsf/bibdata.rb +8 -0
- data/lib/relaton/xsf/bibitem.rb +8 -0
- data/lib/relaton/xsf/bibliography.rb +84 -0
- data/lib/relaton/xsf/data_fetcher.rb +106 -0
- data/lib/relaton/xsf/docidentifier.rb +46 -0
- data/lib/relaton/xsf/hit.rb +17 -0
- data/lib/relaton/xsf/hit_collection.rb +52 -0
- data/lib/relaton/xsf/item.rb +13 -0
- data/lib/relaton/xsf/item_data.rb +6 -0
- data/lib/relaton/xsf/processor.rb +51 -0
- data/lib/relaton/xsf/util.rb +9 -0
- data/lib/relaton/xsf.rb +34 -0
- data/lib/relaton-core.rb +1 -0
- data/lib/relaton.rb +85 -0
- metadata +775 -161
- data/.github/workflows/rake.yml +0 -14
- data/.github/workflows/release.yml +0 -24
- data/.github/workflows/rubocop.yml +0 -48
- data/.gitignore +0 -12
- data/.rspec +0 -3
- data/CLAUDE.md +0 -78
- data/Gemfile +0 -29
- data/Rakefile +0 -6
- data/docs/CHANGELOG.adoc +0 -16
- data/docs/VERSIONING_POLICY.adoc +0 -38
- data/docs/navigation.adoc +0 -6
- data/lib/relaton/db/version.rb +0 -5
- data/relaton.gemspec +0 -72
- data/spec/relaton/config_spec.rb +0 -10
- data/spec/relaton/db_cache_spec.rb +0 -51
- data/spec/relaton/db_spec.rb +0 -567
- data/spec/relaton/registry_spec.rb +0 -178
- data/spec/relaton/util_spec.rb +0 -3
- data/spec/relaton_meta_spec.rb +0 -25
- data/spec/relaton_spec.rb +0 -800
- data/spec/spec_helper.rb +0 -45
- data/spec/support/gb_t_20223_2006.xml +0 -33
- data/spec/support/iso_111111119115_1.xml +0 -0
- data/spec/support/iso_19115_1.xml +0 -115
- data/spec/support/iso_19115_2.xml +0 -95
- data/spec/support/rfc_8341.xml +0 -46
- data/spec/vcr_cassetes/api_relaton_org.yml +0 -121
- data/spec/vcr_cassetes/api_relaton_org_unavailable.yml +0 -140
- data/spec/vcr_cassetes/cc_dir_10005_2019.yml +0 -202
- data/spec/vcr_cassetes/cipm_meeting_43.yml +0 -1505
- data/spec/vcr_cassetes/gb_t_20223_2006.yml +0 -729
- data/spec/vcr_cassetes/iso_111111119115_1.yml +0 -12951
- data/spec/vcr_cassetes/iso_19115_1.yml +0 -17334
- data/spec/vcr_cassetes/iso_19115_1_2.yml +0 -322
- data/spec/vcr_cassetes/iso_19115_1_std.yml +0 -17334
- data/spec/vcr_cassetes/iso_19115_all_parts.yml +0 -185
- data/spec/vcr_cassetes/iso_19133_2005.yml +0 -144
- data/spec/vcr_cassetes/iso_combined_applied.yml +0 -318
- data/spec/vcr_cassetes/iso_combined_included.yml +0 -318
- data/spec/vcr_cassetes/ogc_19_025r1.yml +0 -374
- data/spec/vcr_cassetes/omg_ami4ccm_1_0.yml +0 -317
- data/spec/vcr_cassetes/rfc_8341.yml +0 -1278
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
# GbStandardNationalPrefix
|
|
2
|
+
GB:
|
|
3
|
+
prefix: GB_national
|
|
4
|
+
GBn:
|
|
5
|
+
prefix: GBn_confidential
|
|
6
|
+
GJB:
|
|
7
|
+
prefix: GJB_military
|
|
8
|
+
GSB:
|
|
9
|
+
prefix: GSB_physical
|
|
10
|
+
|
|
11
|
+
# GbStandardSectorPrefix
|
|
12
|
+
NY:
|
|
13
|
+
prefix: NY_agriculture
|
|
14
|
+
administration: 农业部
|
|
15
|
+
SC:
|
|
16
|
+
prefix: SC_aquatic
|
|
17
|
+
administration: 农业部
|
|
18
|
+
SL:
|
|
19
|
+
prefix: SL_water_resources
|
|
20
|
+
administration: 水利部
|
|
21
|
+
QB:
|
|
22
|
+
prefix: QB_light_industry
|
|
23
|
+
administration: 国家发改委
|
|
24
|
+
FZ:
|
|
25
|
+
prefix: FZ_textile
|
|
26
|
+
administration: 国家发改委
|
|
27
|
+
YY:
|
|
28
|
+
prefix: YY_medicine
|
|
29
|
+
administration: 国家食品药品监督管理局
|
|
30
|
+
MZ:
|
|
31
|
+
prefix: MZ_civil_affairs
|
|
32
|
+
administration: 民政部
|
|
33
|
+
JY:
|
|
34
|
+
prefix: JY_education
|
|
35
|
+
administration: 教育部
|
|
36
|
+
YC:
|
|
37
|
+
prefix: YC_tobacco
|
|
38
|
+
administration: 国家烟草专卖局
|
|
39
|
+
YB:
|
|
40
|
+
prefix: YB_ferrous_metallurgy
|
|
41
|
+
administration: 国家发改委
|
|
42
|
+
YS:
|
|
43
|
+
prefix: YS_nonferrous_metallurgy
|
|
44
|
+
administration: 国家发改委
|
|
45
|
+
SY:
|
|
46
|
+
prefix: SY_natural_gas
|
|
47
|
+
administration: 国家发改委
|
|
48
|
+
HG:
|
|
49
|
+
prefix: HG_chemical_industry
|
|
50
|
+
administration: 国家发改委
|
|
51
|
+
SH:
|
|
52
|
+
prefix: SH_petrochemical
|
|
53
|
+
administration: 国家发改委
|
|
54
|
+
JC:
|
|
55
|
+
prefix: JC_building_materials
|
|
56
|
+
administration: 国家发改委
|
|
57
|
+
DZ:
|
|
58
|
+
prefix: DZ_geological
|
|
59
|
+
administration: 国土资源部
|
|
60
|
+
TD:
|
|
61
|
+
prefix: TD_land_management
|
|
62
|
+
administration: 国土资源部
|
|
63
|
+
CH:
|
|
64
|
+
prefix: CH_surveying
|
|
65
|
+
administration: 国家测绘局
|
|
66
|
+
JB:
|
|
67
|
+
prefix: JB_mechanical
|
|
68
|
+
administration: 国家发改委
|
|
69
|
+
QC:
|
|
70
|
+
prefix: QC_automotile
|
|
71
|
+
administration: 国家发改委
|
|
72
|
+
MH:
|
|
73
|
+
prefix: MH_civil_aviation
|
|
74
|
+
administration: 中国民航管理总局
|
|
75
|
+
WJ:
|
|
76
|
+
prefix: WJ_ordnance
|
|
77
|
+
administration: 国防科学工业委员会
|
|
78
|
+
CB:
|
|
79
|
+
prefix: CB_ships
|
|
80
|
+
administration: 国防科学工业委员会
|
|
81
|
+
HB:
|
|
82
|
+
prefix: HB_aviation
|
|
83
|
+
administration: 国防科学工业委员会
|
|
84
|
+
QJ:
|
|
85
|
+
prefix: QJ_aerospace
|
|
86
|
+
administration: 国防科学工业委员会
|
|
87
|
+
EJ:
|
|
88
|
+
prefix: EJ_nuclear_industry
|
|
89
|
+
administration: 国防科学工业委员会
|
|
90
|
+
TB:
|
|
91
|
+
prefix: TB_rail_transport
|
|
92
|
+
administration: 铁道部
|
|
93
|
+
JT:
|
|
94
|
+
prefix: JT_traffic
|
|
95
|
+
administration: 交通部
|
|
96
|
+
LD:
|
|
97
|
+
prefix: LD_work_safety
|
|
98
|
+
administration: 劳动和社会保障部
|
|
99
|
+
SJ:
|
|
100
|
+
prefix: SJ_electronics
|
|
101
|
+
administration: 信息产业部
|
|
102
|
+
YD:
|
|
103
|
+
prefix: YD_communication
|
|
104
|
+
administration: 信息产业部
|
|
105
|
+
GY:
|
|
106
|
+
prefix: GY_media
|
|
107
|
+
administration: 国家广播电视总局
|
|
108
|
+
DY:
|
|
109
|
+
prefix: DY_film
|
|
110
|
+
administration: 国家电影局
|
|
111
|
+
DL:
|
|
112
|
+
prefix: DL_electricity
|
|
113
|
+
administration: 国家发改委
|
|
114
|
+
JR:
|
|
115
|
+
prefix: JR_financial
|
|
116
|
+
administration: 中国人民银行
|
|
117
|
+
HY:
|
|
118
|
+
prefix: HY_oceanic
|
|
119
|
+
administration: 国家海洋局
|
|
120
|
+
DA:
|
|
121
|
+
prefix: DA_archiving
|
|
122
|
+
administration: 国家档案局
|
|
123
|
+
SN:
|
|
124
|
+
prefix: SN_inspection
|
|
125
|
+
administration: 国家质量监督检验检疫总局
|
|
126
|
+
WH:
|
|
127
|
+
prefix: WH_culture
|
|
128
|
+
administration: 文化部
|
|
129
|
+
TY:
|
|
130
|
+
prefix: TY_sports
|
|
131
|
+
administration: 国家体育总局
|
|
132
|
+
SB:
|
|
133
|
+
prefix: SB_business
|
|
134
|
+
administration: 商务部
|
|
135
|
+
WB:
|
|
136
|
+
prefix: WB_materials_management
|
|
137
|
+
administration: 国家发改委
|
|
138
|
+
HJ:
|
|
139
|
+
prefix: HJ_environment_protection
|
|
140
|
+
administration: 国家环境保护总局
|
|
141
|
+
XB:
|
|
142
|
+
prefix: XB_rare_earth
|
|
143
|
+
administration: 国家发改委稀土办公室
|
|
144
|
+
CJ:
|
|
145
|
+
prefix: CJ_town_construction
|
|
146
|
+
administration: 建设部
|
|
147
|
+
JG:
|
|
148
|
+
prefix: JG_construction_industry
|
|
149
|
+
administration: 建设部
|
|
150
|
+
CY:
|
|
151
|
+
prefix: CY_news_publishing
|
|
152
|
+
administration: 国家新闻出版总署
|
|
153
|
+
MT:
|
|
154
|
+
prefix: MT_coal
|
|
155
|
+
administration: 国家发改委
|
|
156
|
+
WS:
|
|
157
|
+
prefix: WS_health
|
|
158
|
+
administration: 卫生部
|
|
159
|
+
GA:
|
|
160
|
+
prefix: GA_public_safety
|
|
161
|
+
administration: 公安部
|
|
162
|
+
BB:
|
|
163
|
+
prefix: BB_packaging
|
|
164
|
+
administration: 国家发改委
|
|
165
|
+
DB:
|
|
166
|
+
prefix: DB_seismology
|
|
167
|
+
administration: 中国地震局
|
|
168
|
+
LB:
|
|
169
|
+
prefix: LB_tourism
|
|
170
|
+
administration: 国家旅游局
|
|
171
|
+
QX:
|
|
172
|
+
prefix: QX_meteorological
|
|
173
|
+
administration: 中国气象局
|
|
174
|
+
WM:
|
|
175
|
+
prefix: WM_foreign_trade
|
|
176
|
+
administration: 外经贸部科技司
|
|
177
|
+
HS:
|
|
178
|
+
prefix: HS_customs
|
|
179
|
+
administration: 海关总署
|
|
180
|
+
YZ:
|
|
181
|
+
prefix: YZ_postal
|
|
182
|
+
administration: 国家邮政局
|
|
183
|
+
GM:
|
|
184
|
+
prefix: GM_cryptography
|
|
185
|
+
administration: 国家密码管理局
|
|
186
|
+
AQ:
|
|
187
|
+
prefix: AQ_production_safety
|
|
188
|
+
administration: 国家安全生产管理局
|
|
189
|
+
GH:
|
|
190
|
+
prefix: GH_supply_marketing
|
|
191
|
+
administration: 中华全国供销合作总社
|
|
192
|
+
LS:
|
|
193
|
+
prefix: LS_food
|
|
194
|
+
administration: 国家粮食局
|
|
195
|
+
TJ:
|
|
196
|
+
prefix: TJ_railway_traffic
|
|
197
|
+
administration: 铁道部标准所
|
|
198
|
+
ZY:
|
|
199
|
+
prefix: ZY_chinese_medicine
|
|
200
|
+
administration: 国家中医药管理局
|
data/lib/relaton/gb.rb
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
require "digest/md5"
|
|
2
|
+
require "mechanize"
|
|
3
|
+
require "relaton/core"
|
|
4
|
+
require "relaton/iso"
|
|
5
|
+
require "cnccs"
|
|
6
|
+
require_relative "version"
|
|
7
|
+
require_relative "gb/util"
|
|
8
|
+
require_relative "gb/item_data"
|
|
9
|
+
require_relative "gb/item"
|
|
10
|
+
require_relative "gb/bibitem"
|
|
11
|
+
require_relative "gb/bibdata"
|
|
12
|
+
require_relative "gb/bibliography"
|
|
13
|
+
|
|
14
|
+
# if defined? Relaton
|
|
15
|
+
# require "relaton_gb/processor"
|
|
16
|
+
# # don't register the gem if it's required form relaton's registry
|
|
17
|
+
# return if caller.detect { |c| c.include? "register_gems" }
|
|
18
|
+
|
|
19
|
+
# Relaton::Registry.instance.register RelatonGb::Processor
|
|
20
|
+
# end
|
|
21
|
+
|
|
22
|
+
module Relaton
|
|
23
|
+
module Gb
|
|
24
|
+
# Returns hash of XML reammar
|
|
25
|
+
# @return [String]
|
|
26
|
+
def self.grammar_hash
|
|
27
|
+
# gem_path = File.expand_path "..", __dir__
|
|
28
|
+
# grammars_path = File.join gem_path, "grammars", "*"
|
|
29
|
+
# grammars = Dir[grammars_path].sort.map { |gp| File.read gp }.join
|
|
30
|
+
Digest::MD5.hexdigest Relaton::VERSION # grammars
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
require "net/http"
|
|
2
|
+
|
|
3
|
+
module Relaton
|
|
4
|
+
module Gost
|
|
5
|
+
# Retrieval front-end for the GOST flavor. Parses the citation with
|
|
6
|
+
# Pubid::Gost, looks it up in the pubid-structured `relaton-data-gost`
|
|
7
|
+
# index-v2, and fetches the matching per-document YAML over HTTP.
|
|
8
|
+
#
|
|
9
|
+
# The index rows are keyed by Pubid::Gost identifiers (`_type: pubid:gost:
|
|
10
|
+
# {interstate,national}-standard`, number, year), so `Relaton::Index`
|
|
11
|
+
# narrows candidates by number via binary search before the block applies
|
|
12
|
+
# the precise pubid match. Both Latin "GOST"/"GOST R" and Cyrillic
|
|
13
|
+
# "ГОСТ"/"ГОСТ Р" surface forms parse (Pubid normalises Cyrillic to Latin).
|
|
14
|
+
module Bibliography
|
|
15
|
+
ENDPOINT = "https://raw.githubusercontent.com/relaton/relaton-data-gost/main/".freeze
|
|
16
|
+
|
|
17
|
+
class << self
|
|
18
|
+
# Search for a GOST publication by its identifier.
|
|
19
|
+
#
|
|
20
|
+
# @param text [String, Pubid::Gost::Identifier] the GOST reference to
|
|
21
|
+
# look up (e.g. "GOST R 34.12-2015", "GOST 14946-82", "ГОСТ 1.0")
|
|
22
|
+
# @param year [String, nil] the edition year (optional; may also be
|
|
23
|
+
# embedded in the reference)
|
|
24
|
+
# @param _opts [Hash] options (unused)
|
|
25
|
+
# @return [Relaton::Gost::Item, nil]
|
|
26
|
+
def search(text, year = nil, _opts = {})
|
|
27
|
+
pubid = text.is_a?(String) ? ::Pubid::Gost.parse(text) : text
|
|
28
|
+
Util.info "Fetching from Relaton repository ...", key: pubid.to_s
|
|
29
|
+
# Pass the pubid so Relaton::Index narrows candidates by number via
|
|
30
|
+
# binary search; pick the latest edition for an undated citation.
|
|
31
|
+
row = rows(pubid, year).max_by { |r| r[:id].year.to_i }
|
|
32
|
+
unless row
|
|
33
|
+
Util.info "Not found.", key: pubid.to_s
|
|
34
|
+
return
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
uri = URI("#{ENDPOINT}#{row[:file]}")
|
|
38
|
+
resp = Net::HTTP.get_response uri
|
|
39
|
+
unless resp.code == "200"
|
|
40
|
+
raise Relaton::RequestError, "Could not access #{uri}: HTTP #{resp.code}"
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
item = Relaton::Gost::Item.from_yaml resp.body
|
|
44
|
+
Util.info "Found: `#{item.docidentifier.first&.content}`", key: pubid.to_s
|
|
45
|
+
item.tap { |i| i.fetched = Date.today.to_s }
|
|
46
|
+
rescue SocketError, Errno::EINVAL, Errno::ECONNRESET, EOFError,
|
|
47
|
+
Net::HTTPBadResponse, Net::HTTPHeaderSyntaxError,
|
|
48
|
+
Net::ProtocolError, Net::ReadTimeout, OpenSSL::SSL::SSLError,
|
|
49
|
+
Errno::ETIMEDOUT => e
|
|
50
|
+
raise Relaton::RequestError, "Could not access #{uri}: #{e.message}"
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
# Fetch a GOST publication, suppressing the edition year for an undated
|
|
54
|
+
# citation so the designation renders undated (`GOST R 34.12`), the way
|
|
55
|
+
# the ISO/OIML fetchers do. A dated citation (`GOST R 34.12-2015`, or an
|
|
56
|
+
# explicit `year`) still pins that edition.
|
|
57
|
+
#
|
|
58
|
+
# @param opts [Hash] options
|
|
59
|
+
# @option opts [Boolean] :keep_year retain the edition year even for an
|
|
60
|
+
# undated citation (or, when false, strip it even for a dated one)
|
|
61
|
+
# @see #search
|
|
62
|
+
def get(ref, year = nil, opts = {})
|
|
63
|
+
item = search(ref, year, opts)
|
|
64
|
+
return item unless item
|
|
65
|
+
|
|
66
|
+
pubid = ref.is_a?(String) ? ::Pubid::Gost.parse(ref) : ref
|
|
67
|
+
dated = pubid.year || year
|
|
68
|
+
return item if (dated && opts[:keep_year].nil?) || opts[:keep_year]
|
|
69
|
+
|
|
70
|
+
item.to_most_recent_reference
|
|
71
|
+
end
|
|
72
|
+
|
|
73
|
+
private
|
|
74
|
+
|
|
75
|
+
def index
|
|
76
|
+
Relaton::Index.find_or_create(
|
|
77
|
+
:gost,
|
|
78
|
+
url: "#{ENDPOINT}#{INDEXFILE}.zip",
|
|
79
|
+
file: "#{INDEXFILE}.yaml",
|
|
80
|
+
pubid_class: ::Pubid::Gost::Identifier,
|
|
81
|
+
)
|
|
82
|
+
end
|
|
83
|
+
|
|
84
|
+
# The index rows for a citation. A dated citation matches exactly
|
|
85
|
+
# (`exact: true`, pubid `==`). An undated one takes pubid's subset
|
|
86
|
+
# match `query === row`, so it matches every edition of the document:
|
|
87
|
+
# the omitted year matches any value. The class must be identical, so
|
|
88
|
+
# interstate and national standards stay distinct, and `1.1` does not
|
|
89
|
+
# match `1.10`. pubid declares `copublisher` strict for GOST, so an
|
|
90
|
+
# omitted copublisher means "none". The `year` argument pins an edition
|
|
91
|
+
# the reference string omitted.
|
|
92
|
+
#
|
|
93
|
+
# @param query [Pubid::Gost::Identifier]
|
|
94
|
+
# @param year [String, nil]
|
|
95
|
+
# @return [Array<Hash>]
|
|
96
|
+
def rows(query, year)
|
|
97
|
+
return index.search(query, exact: true) if query.year
|
|
98
|
+
|
|
99
|
+
rows = index.search(query)
|
|
100
|
+
return rows unless year
|
|
101
|
+
|
|
102
|
+
rows.select { |r| r[:id].year.to_s == year.to_s }
|
|
103
|
+
end
|
|
104
|
+
end
|
|
105
|
+
end
|
|
106
|
+
end
|
|
107
|
+
end
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
module Relaton
|
|
2
|
+
module Gost
|
|
3
|
+
# Structured GOST document identifier. Wraps a Pubid::Gost identifier so the
|
|
4
|
+
# canonical citation form (e.g. "GOST R 34.12-2015", "GOST 14946-82") stays
|
|
5
|
+
# in sync with `content`, and undated-reference handling (return the latest
|
|
6
|
+
# edition) can strip the year via the pubid. Mirrors Relaton::Oiml::Docidentifier.
|
|
7
|
+
class Docidentifier < Bib::Docidentifier
|
|
8
|
+
attr_reader :pubid
|
|
9
|
+
|
|
10
|
+
# Capture the inherited content setter before overriding #content=, so
|
|
11
|
+
# #refresh_content! can write the re-rendered string back WITHOUT
|
|
12
|
+
# re-parsing. `remove_date!` used to re-sync through `self.content=`,
|
|
13
|
+
# which rebuilds @pubid from the string; harmless on its own, but a
|
|
14
|
+
# re-parse of an all-parts wrapper's own rendering (which carries
|
|
15
|
+
# pubid's "(all parts)" marker) would not round-trip at all.
|
|
16
|
+
alias_method :store_content, :content=
|
|
17
|
+
|
|
18
|
+
def initialize(attrs = {}, options = {})
|
|
19
|
+
pubid = attrs.is_a?(Hash) ? attrs.delete(:pubid) : nil
|
|
20
|
+
attrs[:content] ||= pubid.to_s if pubid
|
|
21
|
+
super
|
|
22
|
+
@pubid = pubid if pubid
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
def content=(value)
|
|
26
|
+
super
|
|
27
|
+
@pubid = ::Pubid::Gost.parse(value) if value
|
|
28
|
+
rescue StandardError
|
|
29
|
+
@pubid = nil
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
# `remove_date!` was implemented but `remove_part!` and `to_all_parts!`
|
|
33
|
+
# were not, so `Bib::ItemData#to_all_parts` still raised
|
|
34
|
+
# `NotImplementedError` on every GOST item — and it descends from
|
|
35
|
+
# `ScriptError`, so a caller's `rescue => e` did not catch it.
|
|
36
|
+
#
|
|
37
|
+
# GOST pubid carries the edition as `year` (not `date`), so `remove_date!`
|
|
38
|
+
# clears that: `GOST R 34.12-2015` -> `GOST R 34.12`. `part`/`subpart`
|
|
39
|
+
# come from the pubid base class and are unused by GOST today, so
|
|
40
|
+
# `remove_part!` is a no-op for the rendered string — implemented so it
|
|
41
|
+
# never raises. All three no-op safely when `@pubid` is nil.
|
|
42
|
+
|
|
43
|
+
def remove_part!
|
|
44
|
+
clear_attr!(:part)
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
def remove_date!
|
|
48
|
+
clear_attr!(:year)
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
def to_all_parts!
|
|
52
|
+
return if !@pubid || @pubid.all_parts?
|
|
53
|
+
|
|
54
|
+
# `remove_part!`/`remove_date!` mutate `@pubid` in place via direct
|
|
55
|
+
# attribute setters, so a bare reference (or a shallow `.dup`) would
|
|
56
|
+
# still see those mutations. `#exclude` with no args rebuilds the
|
|
57
|
+
# whole identifier as new objects — a real, independent snapshot —
|
|
58
|
+
# so the all-parts wrapper below keeps the original part and date.
|
|
59
|
+
original = @pubid.exclude
|
|
60
|
+
remove_part!
|
|
61
|
+
remove_date!
|
|
62
|
+
@pubid = original.to_all_parts
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
private
|
|
66
|
+
|
|
67
|
+
def clear_attr!(attr)
|
|
68
|
+
return unless @pubid && @pubid.respond_to?("#{attr}=")
|
|
69
|
+
|
|
70
|
+
@pubid.public_send("#{attr}=", nil)
|
|
71
|
+
@pubid.subpart = nil if attr == :part && @pubid.respond_to?(:subpart=)
|
|
72
|
+
refresh_content!
|
|
73
|
+
end
|
|
74
|
+
|
|
75
|
+
def refresh_content!
|
|
76
|
+
store_content(@pubid.to_s) if @pubid
|
|
77
|
+
end
|
|
78
|
+
end
|
|
79
|
+
end
|
|
80
|
+
end
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
module Relaton
|
|
2
|
+
module Gost
|
|
3
|
+
# GOST document types. The value is carried in the inherited
|
|
4
|
+
# `content` attribute. The list mirrors the categories GOST
|
|
5
|
+
# publishes (interstate GOST, Russian national GOST R,
|
|
6
|
+
# preliminary standards, methodological documents).
|
|
7
|
+
class Doctype < Bib::Doctype
|
|
8
|
+
TYPES = %w[
|
|
9
|
+
interstate
|
|
10
|
+
national
|
|
11
|
+
preliminary
|
|
12
|
+
methodological
|
|
13
|
+
].freeze
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
end
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
module Relaton
|
|
2
|
+
module Gost
|
|
3
|
+
# GOST bibliographic item extension. Adds GOST-specific structured
|
|
4
|
+
# metadata on top of the shared Relaton::Bib::Ext so the fields
|
|
5
|
+
# round-trip through both XML and YAML without per-repo merge hacks.
|
|
6
|
+
# Doctype is referenced lazily via autoload from lib/relaton/gost.rb.
|
|
7
|
+
class Ext < Bib::Ext
|
|
8
|
+
attribute :doctype, Doctype
|
|
9
|
+
attribute :urn, :string
|
|
10
|
+
attribute :webpage, :string
|
|
11
|
+
# ICS classification code (МКС / Межгосударственный классификатор
|
|
12
|
+
# стандартов) — e.g. "13.080.20".
|
|
13
|
+
attribute :ics_code, :string
|
|
14
|
+
# Original-language developer of the standard (РАЗРАБОТЧИК).
|
|
15
|
+
attribute :developer, :string
|
|
16
|
+
# Keyword list (Ключевые слова).
|
|
17
|
+
attribute :keywords, :string, collection: true, initialize_empty: true
|
|
18
|
+
# Page count (Страниц).
|
|
19
|
+
attribute :pages, :string
|
|
20
|
+
# Original-language designation as printed on the cover
|
|
21
|
+
# (e.g. "ГОСТ Р 71039— 2023") — preserves em-dash and spacing
|
|
22
|
+
# quirks that the parsed Pubid normalises away.
|
|
23
|
+
attribute :designation_original, :string
|
|
24
|
+
|
|
25
|
+
xml do
|
|
26
|
+
map_element "urn", to: :urn
|
|
27
|
+
map_element "webpage", to: :webpage
|
|
28
|
+
map_element "ics_code", to: :ics_code
|
|
29
|
+
map_element "developer", to: :developer
|
|
30
|
+
map_element "keywords", to: :keywords
|
|
31
|
+
map_element "pages", to: :pages
|
|
32
|
+
map_element "designation_original", to: :designation_original
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
key_value do
|
|
36
|
+
map_element "urn", to: :urn
|
|
37
|
+
map_element "webpage", to: :webpage
|
|
38
|
+
map_element "ics_code", to: :ics_code
|
|
39
|
+
map_element "developer", to: :developer
|
|
40
|
+
map_element "keywords", to: :keywords
|
|
41
|
+
map_element "pages", to: :pages
|
|
42
|
+
map_element "designation_original", to: :designation_original
|
|
43
|
+
end
|
|
44
|
+
end
|
|
45
|
+
end
|
|
46
|
+
end
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
module Relaton
|
|
2
|
+
module Gost
|
|
3
|
+
# GOST bibliographic item. Re-declares +ext+ to use the typed Ext
|
|
4
|
+
# subclass so GOST-specific fields round-trip natively. Sub-files
|
|
5
|
+
# (ItemData, Ext, Docidentifier) are loaded lazily via the autoload
|
|
6
|
+
# entries declared in lib/relaton/gost.rb.
|
|
7
|
+
class Item < Bib::Item
|
|
8
|
+
model ItemData
|
|
9
|
+
|
|
10
|
+
attribute :ext, Ext
|
|
11
|
+
attribute :docidentifier, Docidentifier, collection: true,
|
|
12
|
+
initialize_empty: true
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
end
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
module Relaton
|
|
2
|
+
module Gost
|
|
3
|
+
class ItemBase < Lutaml::Model::Serializable
|
|
4
|
+
include Bib::NamespaceHelper
|
|
5
|
+
|
|
6
|
+
attr_accessor :type
|
|
7
|
+
|
|
8
|
+
model ItemData
|
|
9
|
+
|
|
10
|
+
instance_exec(&Bib::ItemShared::ATTRIBUTES)
|
|
11
|
+
|
|
12
|
+
xml do
|
|
13
|
+
map_attribute "type", to: :type
|
|
14
|
+
instance_exec(&Bib::ItemShared::XML_BODY)
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
end
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
require "relaton/core/processor"
|
|
2
|
+
|
|
3
|
+
module Relaton
|
|
4
|
+
module Gost
|
|
5
|
+
# Relaton processor for the GOST flavor. Registered by
|
|
6
|
+
# Relaton::Db::Registry when the unified gem loads (see
|
|
7
|
+
# lib/relaton/db/registry.rb). Supports `relaton fetch gost ...`
|
|
8
|
+
# once the relaton-data-gost dataset is installed.
|
|
9
|
+
class Processor < Core::Processor
|
|
10
|
+
attr_reader :idtype
|
|
11
|
+
|
|
12
|
+
def initialize
|
|
13
|
+
@short = :relaton_gost
|
|
14
|
+
@prefix = "GOST"
|
|
15
|
+
# Both Latin "GOST" and Cyrillic "ГОСТ" route here. The trailing
|
|
16
|
+
# \b keeps the prefix from swallowing longer tokens ("GOSTA …").
|
|
17
|
+
@defaultprefix = %r{^(?:GOST|ГОСТ)\b}
|
|
18
|
+
@idtype = "GOST"
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
def get(code, date, opts)
|
|
22
|
+
require_relative "../gost"
|
|
23
|
+
Bibliography.get(code, date, opts)
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
def from_xml(xml)
|
|
27
|
+
require_relative "../gost"
|
|
28
|
+
Item.from_xml xml
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
def from_yaml(yaml)
|
|
32
|
+
require_relative "../gost"
|
|
33
|
+
Item.from_yaml(yaml)
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
def grammar_hash
|
|
37
|
+
require_relative "../gost"
|
|
38
|
+
@grammar_hash ||= ::Relaton::Gost.grammar_hash
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
def remove_index_file
|
|
42
|
+
require_relative "../gost"
|
|
43
|
+
Relaton::Index.find_or_create(
|
|
44
|
+
:gost, url: true, file: "#{INDEXFILE}.yaml"
|
|
45
|
+
).remove_file
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
end
|
|
49
|
+
end
|
data/lib/relaton/gost.rb
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require "relaton/bib"
|
|
4
|
+
require "relaton/index"
|
|
5
|
+
require "pubid"
|
|
6
|
+
require "relaton/version"
|
|
7
|
+
|
|
8
|
+
# Relaton::Gost is the GOST (Russian federal standards — Гостстандарт)
|
|
9
|
+
# flavor of the unified relaton gem. Adds typed Ext fields (urn,
|
|
10
|
+
# webpage) so they round-trip natively through YAML and XML without
|
|
11
|
+
# per-repo merge hacks.
|
|
12
|
+
module Relaton
|
|
13
|
+
module Gost
|
|
14
|
+
INDEXFILE = "index-v2".freeze
|
|
15
|
+
|
|
16
|
+
class Error < StandardError; end
|
|
17
|
+
|
|
18
|
+
autoload :Doctype, "relaton/gost/doctype"
|
|
19
|
+
autoload :Ext, "relaton/gost/ext"
|
|
20
|
+
autoload :ItemData, "relaton/gost/item_data"
|
|
21
|
+
autoload :ItemBase, "relaton/gost/item_base"
|
|
22
|
+
autoload :Item, "relaton/gost/item"
|
|
23
|
+
autoload :Bibitem, "relaton/gost/bibitem"
|
|
24
|
+
autoload :Bibdata, "relaton/gost/bibdata"
|
|
25
|
+
autoload :Docidentifier, "relaton/gost/docidentifier"
|
|
26
|
+
autoload :Bibliography, "relaton/gost/bibliography"
|
|
27
|
+
autoload :Util, "relaton/gost/util"
|
|
28
|
+
autoload :Processor, "relaton/gost/processor"
|
|
29
|
+
|
|
30
|
+
# Returns hash of XML grammar
|
|
31
|
+
# @return [String]
|
|
32
|
+
def self.grammar_hash
|
|
33
|
+
Digest::MD5.hexdigest Relaton::VERSION
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
end
|