Module: ActiveFedora::FedoraAttributes::ClassMethods

Defined in:
lib/active_fedora/fedora_attributes.rb

Instance Method Summary collapse

Instance Method Details

#resource_classObject

We make a unique class, because properties belong to a class. This keeps properties from different objects separate. Since the copy of properties can only happen once, we don't want to invoke it until all properties have been defined.

[View source]

58
59
60
61
62
63
64
65
66
67
68
69
# File 'lib/active_fedora/fedora_attributes.rb', line 58

def resource_class
  @generated_resource_class ||= begin
    klass = const_set(:GeneratedResourceSchema, Class.new(resource_class_factory))
    klass.configure active_triple_options
    klass.properties.merge(properties).each do |_property, config|
      klass.property(config.term,
                     predicate: config.predicate,
                     class_name: config.class_name)
    end
    klass
  end
end

#resource_class_factoryObject

Allow inherited classes to override what class is used for triples ORM.

[View source]

72
73
74
# File 'lib/active_fedora/fedora_attributes.rb', line 72

def resource_class_factory
  ActiveTriples::Resource
end