Sha256: 521df457098fb400d182d87fdda1dc9080c8f73783181e0654a47848c1c81ac7
Contents?: true
Size: 864 Bytes
Versions: 1
Compression:
Stored size: 864 Bytes
Contents
require_relative 'doi_utils' require_relative 'author_utils' require_relative 'date_utils' require_relative 'datacite_utils' require_relative 'utils' module Bolognese class Metadata include Bolognese::DoiUtils include Bolognese::AuthorUtils include Bolognese::DateUtils include Bolognese::DataciteUtils include Bolognese::Utils attr_reader :id, :raw, :provider def initialize(id: nil) @id = normalize_id(id) @provider = find_provider(@id) end def normalize_id(id) normalize_doi(id) || normalize_orcid(id) end def find_provider(id) if /(http|https):\/\/(dx\.)?doi\.org\/(\w+)/.match(id) get_doi_ra(id).fetch("id", nil) elsif /\A(?:http:\/\/orcid\.org\/)?(\d{4}-\d{4}-\d{4}-\d{3}[0-9X]+)\z/.match(id) "orcid" else "schema_org" end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
bolognese-0.4.1 | lib/bolognese/metadata.rb |