Sha256: e55c33cc153d35cb4c6dba88477718aa2e6f377343baa75aad3f134b7dd52246
Contents?: true
Size: 900 Bytes
Versions: 8
Compression:
Stored size: 900 Bytes
Contents
require 'forwardable' module BEL module Model class Metadata attr_reader :values extend Forwardable include Enumerable DOCUMENT_HEADER = :document_header def initialize(values = {}) if values.is_a? Array @values = Hash[values.map { |item| item.values_at(:name, :value) }] else @values = values end end def document_header @values[DOCUMENT_HEADER] ||= {} end def document_header=(document_header) @values[DOCUMENT_HEADER] = document_header end def to_a @values.each_pair.map { |key, value| { name: key, value: value } } end def_delegators :@values, :[], :"[]=", :delete_if, :each, :each_pair, :fetch, :keys, :size, :sort, :store end end end
Version data entries
8 entries across 8 versions & 1 rubygems