Class: Aardi::Metadata

Inherits:
Object
  • Object
show all
Defined in:
lib/aardi/metadata.rb

Constant Summary collapse

KNOWN_KEYS =
%w[Title Description Creation Updated Tags].freeze

Instance Method Summary collapse

Constructor Details

#initialize(yaml_str = '', source = nil) ⇒ Metadata

Returns a new instance of Metadata.



7
8
9
10
11
12
# File 'lib/aardi/metadata.rb', line 7

def initialize(yaml_str = '', source = nil)
  yaml = YAML.safe_load(yaml_str, permitted_classes: [Time])
  @yaml = {}
  @yaml = yaml if yaml.is_a? Hash
  confirm_keys(source)
end

Instance Method Details

#creationObject



14
# File 'lib/aardi/metadata.rb', line 14

def creation    = @yaml['Creation']

#descriptionObject



15
# File 'lib/aardi/metadata.rb', line 15

def description = @yaml['Description']

#empty?Boolean

Returns:

  • (Boolean)


16
# File 'lib/aardi/metadata.rb', line 16

def empty?      = @yaml.empty?

#tagsObject



17
# File 'lib/aardi/metadata.rb', line 17

def tags        = @yaml['Tags']&.split&.sort

#titleObject



18
# File 'lib/aardi/metadata.rb', line 18

def title       = @yaml['Title']

#updatedObject



19
# File 'lib/aardi/metadata.rb', line 19

def updated     = @yaml['Updated']