Sha256: 702dd421aa8376b8888c61a4c71442fcc8a39573c29f9b676b6f7612bb833e81
Contents?: true
Size: 1.94 KB
Versions: 2
Compression:
Stored size: 1.94 KB
Contents
module Bolognese module Writers module SchemaOrgWriter def schema_hsh { "@context" => identifier.present? ? "http://schema.org" : nil, "@type" => type, "@id" => identifier, "identifier" => identifier, "url" => url, "additionalType" => additional_type, "name" => parse_attributes(title, content: "text", first: true), "alternateName" => parse_attributes(alternate_name, content: "name", first: true), "author" => to_schema_org(author), "editor" => to_schema_org(editor), "description" => parse_attributes(description, content: "text", first: true), "license" => Array.wrap(license).map { |l| l["id"] }.compact.unwrap, "version" => version, "keywords" => Array.wrap(keywords).join(", ").presence, "inLanguage" => language, "contentSize" => content_size, "dateCreated" => date_created, "datePublished" => date_published, "dateModified" => date_modified, "pageStart" => first_page, "pageEnd" => last_page, "spatialCoverage" => spatial_coverage, "sameAs" => to_schema_org(is_identical_to), "isPartOf" => to_schema_org(is_part_of), "hasPart" => to_schema_org(has_part), "predecessor_of" => to_schema_org(is_previous_version_of), "successor_of" => to_schema_org(is_new_version_of), "citation" => to_schema_org(references), "@reverse" => reverse.presence, "schemaVersion" => schema_version, "publisher" => publisher.present? ? { "@type" => "Organization", "name" => publisher } : nil, "funding" => to_schema_org(funding), "provider" => service_provider.present? ? { "@type" => "Organization", "name" => service_provider } : nil }.compact.presence end def schema_org JSON.pretty_generate schema_hsh end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
bolognese-0.9.89 | lib/bolognese/writers/schema_org_writer.rb |
bolognese-0.9.88 | lib/bolognese/writers/schema_org_writer.rb |