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/has_summary.rb,
lib/imw/metadata/has_metadata.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, HasMetadata, HasSummary Classes: Field, Schema
Instance Attribute Summary collapse
-
#base ⇒ IMW::Resource
The resource this metadata is anchored to.
Class Method Summary collapse
Instance Method Summary collapse
- #[](resource) ⇒ Object
- #[]=(resource, metadata) ⇒ Object
- #describe?(resource) ⇒ Boolean (also: #describes?)
- #description_for(resource) ⇒ Object
- #fields_for(resource) ⇒ Object
-
#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
#initialize(obj = nil, options = {}) ⇒ Metadata
Returns a new instance of Metadata.
31 32 33 34 35 36 37 38 39 |
# File 'lib/imw/metadata.rb', line 31 def initialize obj=nil, ={} super() self.base = [:base] if [:base] if obj obj.each_pair do |resource, | self[resource] = end end end |
Instance Attribute Details
#base ⇒ IMW::Resource
The resource this metadata 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) ⇒ Object
50 51 52 |
# File 'lib/imw/metadata.rb', line 50 def [] resource super(absolute_uri(resource)) end |
#[]=(resource, metadata) ⇒ Object
46 47 48 |
# File 'lib/imw/metadata.rb', line 46 def []= resource, super(absolute_uri(resource), ) end |
#describe?(resource) ⇒ Boolean Also known as: describes?
54 55 56 |
# File 'lib/imw/metadata.rb', line 54 def describe? resource self[(absolute_uri(resource))] end |
#description_for(resource) ⇒ Object
59 60 61 62 |
# File 'lib/imw/metadata.rb', line 59 def description_for resource return unless describes?(resource) self[resource]['description'] end |