class Dimples::Metadata
A class representing metadata passed into a template for rendering.
Attributes
keys[R]
Public Class Methods
new(source)
click to toggle source
# File lib/dimples/metadata.rb, line 8 def initialize(source) source.each do |key, value| self.class.send(:attr_reader, key) instance_variable_set("@#{key}", build(value)) end @keys = source.keys end
Public Instance Methods
build(item)
click to toggle source
# File lib/dimples/metadata.rb, line 17 def build(item) case item when Array item.map { |i| build(i) } when Hash item.empty? ? item : Metadata.new(item) else item end end
method_missing(_method_name, *_args)
click to toggle source
# File lib/dimples/metadata.rb, line 28 def method_missing(_method_name, *_args) nil end
respond_to_missing?(_method_name, _include_private)
click to toggle source
# File lib/dimples/metadata.rb, line 32 def respond_to_missing?(_method_name, _include_private) true end