Class: ROCrate::Metadata
- Inherits:
-
File
- Object
- Entity
- DataEntity
- File
- ROCrate::Metadata
- Defined in:
- lib/ro_crate/model/metadata.rb
Overview
A representation of the ‘ro-crate-metadata.jsonld` file.
Constant Summary collapse
- IDENTIFIER =
'ro-crate-metadata.json'.freeze
- IDENTIFIER_1_0 =
1.0 spec identifier
'ro-crate-metadata.jsonld'.freeze
- RO_CRATE_BASE =
'https://w3id.org/ro/crate/'- CONTEXT =
"#{RO_CRATE_BASE}1.1/context".freeze
- SPEC =
"#{RO_CRATE_BASE}1.1".freeze
Instance Attribute Summary
Attributes inherited from Entity
Instance Method Summary collapse
-
#generate ⇒ String
Generate the crate’s ‘ro-crate-metadata.jsonld`.
-
#initialize(crate, properties = {}) ⇒ Metadata
constructor
A new instance of Metadata.
Methods inherited from File
Methods inherited from DataEntity
#entries, #filepath, format_id, specialize
Methods inherited from Entity
#==, #[], #[]=, #auto_dereference, #auto_reference, #canonical_id, #dereference, #eql?, #external?, format_id, #has_type?, #hash, #id, #id=, #inspect, properties, #raw_properties, #reference, #to_json, #type, #type=
Constructor Details
#initialize(crate, properties = {}) ⇒ Metadata
Returns a new instance of Metadata.
11 12 13 |
# File 'lib/ro_crate/model/metadata.rb', line 11 def initialize(crate, properties = {}) super(crate, nil, IDENTIFIER, properties) end |
Instance Method Details
#generate ⇒ String
Generate the crate’s ‘ro-crate-metadata.jsonld`.
18 19 20 21 |
# File 'lib/ro_crate/model/metadata.rb', line 18 def generate graph = crate.entities.map(&:properties).reject(&:empty?) JSON.pretty_generate('@context' => CONTEXT, '@graph' => graph) end |