class Paru::PandocFilter::MetaMap
A MetaMap
Node
is a map of String keys with MetaValue
values
Public Class Methods
Source
# File lib/paru/filter/meta_map.rb, line 33 def initialize(contents = {}) @children = Hash.new if contents.is_a? Hash contents.each_pair do |key, value| if not value.empty? and PandocFilter.const_defined? value["t"] @children[key] = PandocFilter.const_get(value["t"]).new value["c"] end end end end
Create a new MetaMap
based on the contents
@param contents [Hash = {}] a list of key-value pairs, defaults
to an empty hash
Public Instance Methods
Source
# File lib/paru/filter/meta_map.rb, line 50 def [](key) @children[key] end
Get the value belonging to key.
@param key [String] the key
@return [MetaValue] the value belonging to the key
Source
# File lib/paru/filter/meta_map.rb, line 58 def []=(key, value) @children[key] = value end
Set a value with a key.
@param key [String] the key to set @param value [MetaBlocks|MetaBool|MetaInlines|MetaList|MetaMap|MetaString|MetaValue] the value to set
Source
# File lib/paru/filter/meta_map.rb, line 70 def ast_contents() ast = Hash.new @children.each_pair do |key, value| ast[key] = value.to_ast end if @children.is_a? Hash ast end
The AST contents
Source
# File lib/paru/filter/meta_map.rb, line 63 def each() @children.each do |key, value| yield(key, value) end end
Execute block for each key-value pair