Module: ActiveFedora::FedoraAttributes::ClassMethods
- Defined in:
- lib/active_fedora/fedora_attributes.rb
Instance Method Summary collapse
-
#resource_class ⇒ Object
We make a unique class, because properties belong to a class.
Instance Method Details
#resource_class ⇒ Object
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.
59 60 61 62 63 64 65 66 67 68 69 70 |
# File 'lib/active_fedora/fedora_attributes.rb', line 59 def resource_class @generated_resource_class ||= begin klass = self.const_set(:GeneratedResourceSchema, Class.new(ActiveTriples::Resource)) klass.configure klass.properties.merge(self.properties).each do |property, config| klass.property(config.term, predicate: config.predicate, class_name: config.class_name) end klass end end |