Module: Bolognese::Writers::CodemetaWriter

Included in:
Metadata
Defined in:
lib/bolognese/writers/codemeta_writer.rb

Instance Method Summary collapse

Instance Method Details

#codemetaObject



4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/bolognese/writers/codemeta_writer.rb', line 4

def codemeta
  return nil unless valid?

  hsh = {
    "@context" => id.present? ? "https://raw.githubusercontent.com/codemeta/codemeta/master/codemeta.jsonld" : nil,
    "@type" => type,
    "@id" => id,
    "identifier" => id,
    "codeRepository" => url,
    "title" => title,
    "agents" => author,
    "description" => description.present? ? description["text"] : nil,
    "version" => version,
    "tags" => keywords.to_s.split(", ").presence,
    "dateCreated" => date_created,
    "datePublished" => date_published,
    "dateModified" => date_modified,
    "publisher" => publisher
  }.compact
  JSON.pretty_generate hsh.presence
end