class ActiveFedora::WithMetadata::DefaultMetadataClassFactory
Public Class Methods
build(parent, &block)
click to toggle source
# File lib/active_fedora/with_metadata/default_metadata_class_factory.rb, line 10 def build(parent, &block) create_class(parent).tap do |resource_class| file_metadata_schemas.each do |schema| resource_class.apply_schema(schema, file_metadata_strategy) end resource_class.exec_block(&block) if block_given? end end
Private Class Methods
create_class(parent_klass)
click to toggle source
Make a subclass of MetadataNode
named GeneratedMetadataSchema and set its parent_class attribute to have the value of the current class.
# File lib/active_fedora/with_metadata/default_metadata_class_factory.rb, line 23 def create_class(parent_klass) Class.new(metadata_base_class).tap do |klass| parent_klass.const_set(:GeneratedMetadataSchema, klass) klass.parent_class = parent_klass end end