Class: IMW::Metadata
- Defined in:
- lib/imw/metadata.rb,
lib/imw/metadata/dsl.rb,
lib/imw/metadata/field.rb,
lib/imw/metadata/schema.rb,
lib/imw/metadata/schematized.rb,
lib/imw/metadata/contains_metadata.rb
Overview
A collection of classes for describing the metadata associated with a dataset’s fields.
Defined Under Namespace
Modules: ContainsMetadata, DSL, Schematized Classes: Field, Schema
Instance Attribute Summary collapse
-
#base ⇒ IMW::Resource
The resource this Schema is anchored to.
Class Method Summary collapse
Instance Method Summary collapse
- #[](resource_spec) ⇒ Object
- #[]=(resource_spec, schema_spec) ⇒ Object
- #describe?(resource_spec) ⇒ Boolean
-
#initialize(obj = nil, options = {}) ⇒ Metadata
constructor
A new instance of Metadata.
Methods inherited from Hash
#assoc, #compact, #compact!, #deep_merge, #deep_merge!, #dispatch, #emit, #from_pairs, #keep_merge, #quote_keys_with, #rassoc, #reverse_merge, #reverse_merge!, #slice, #slice!, #terminals, #to_openstruct, zip
Constructor Details
Instance Attribute Details
#base ⇒ IMW::Resource
The resource this Schema is anchored to.
This attribute is useful for letting relative paths in a schema file refer to a common base URL.
19 20 21 |
# File 'lib/imw/metadata.rb', line 19 def base @base end |
Class Method Details
Instance Method Details
#[](resource_spec) ⇒ Object
47 48 49 |
# File 'lib/imw/metadata.rb', line 47 def [] resource_spec super(absolute_uri(resource_spec)) end |
#[]=(resource_spec, schema_spec) ⇒ Object
42 43 44 45 |
# File 'lib/imw/metadata.rb', line 42 def []= resource_spec, schema_spec schema = schema_spec.is_a?(Schema) ? schema_spec : Schema.new(schema_spec) super(absolute_uri(resource_spec), schema_spec) end |
#describe?(resource_spec) ⇒ Boolean
51 52 53 |
# File 'lib/imw/metadata.rb', line 51 def describe? resource_spec has_key?(absolute_uri(resource_spec)) end |