Sha256: f3e9c639a3045f060c843dcea8aa72908388cebfa181ca6653012668d99e219e

Contents?: true

Size: 1.82 KB

Versions: 14

Compression:

Stored size: 1.82 KB

Contents

module Bolognese
  module Writers
    module SchemaOrgWriter
      def schema_hsh
        { "@context" => id.present? ? "http://schema.org" : nil,
          "@type" => type,
          "@id" => id,
          "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,
          "pagination" => pagination,
          "spatialCoverage" => spatial_coverage,
          "sameAs" => same_as,
          "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" => provider.present? ? { "@type" => "Organization", "name" => provider } : nil
        }.compact.presence
      end

      def schema_org
        JSON.pretty_generate schema_hsh
      end
    end
  end
end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
bolognese-0.9.56 lib/bolognese/writers/schema_org_writer.rb
bolognese-0.9.55 lib/bolognese/writers/schema_org_writer.rb
bolognese-0.9.54 lib/bolognese/writers/schema_org_writer.rb
bolognese-0.9.52 lib/bolognese/writers/schema_org_writer.rb
bolognese-0.9.51 lib/bolognese/writers/schema_org_writer.rb
bolognese-0.9.50 lib/bolognese/writers/schema_org_writer.rb
bolognese-0.9.48 lib/bolognese/writers/schema_org_writer.rb
bolognese-0.9.44 lib/bolognese/writers/schema_org_writer.rb
bolognese-0.9.43 lib/bolognese/writers/schema_org_writer.rb
bolognese-0.9.42 lib/bolognese/writers/schema_org_writer.rb
bolognese-0.9.41 lib/bolognese/writers/schema_org_writer.rb
bolognese-0.9.39 lib/bolognese/writers/schema_org_writer.rb
bolognese-0.9.38 lib/bolognese/writers/schema_org_writer.rb
bolognese-0.9.37 lib/bolognese/writers/schema_org_writer.rb