Module: ActiveFedora::Attributes::ClassMethods
- Defined in:
- lib/active_fedora/attributes.rb
Instance Method Summary collapse
- #defined_attributes ⇒ Object
- #defined_attributes=(val) ⇒ Object
- #has_attributes(*fields) ⇒ Object
-
#multiple?(field) ⇒ Boolean
Reveal if the attribute is multivalued.
-
#unique?(field) ⇒ Boolean
Reveal if the attribute has been declared unique.
Instance Method Details
#defined_attributes ⇒ Object
73 74 75 76 77 78 |
# File 'lib/active_fedora/attributes.rb', line 73 def defined_attributes @defined_attributes ||= {}.with_indifferent_access return @defined_attributes unless superclass.respond_to?(:defined_attributes) and value = superclass.defined_attributes @defined_attributes = value.dup if @defined_attributes.empty? @defined_attributes end |
#defined_attributes=(val) ⇒ Object
80 81 82 |
# File 'lib/active_fedora/attributes.rb', line 80 def defined_attributes= val @defined_attributes = val end |
#has_attributes(*fields) ⇒ Object
84 85 86 87 88 89 90 91 92 |
# File 'lib/active_fedora/attributes.rb', line 84 def has_attributes(*fields) = fields.pop datastream = .delete(:datastream) define_attribute_methods fields fields.each do |f| create_attribute_reader(f, datastream, ) create_attribute_setter(f, datastream, ) end end |
#multiple?(field) ⇒ Boolean
Reveal if the attribute is multivalued
104 105 106 |
# File 'lib/active_fedora/attributes.rb', line 104 def multiple?(field) defined_attributes[field][:multiple] end |
#unique?(field) ⇒ Boolean
Reveal if the attribute has been declared unique
97 98 99 |
# File 'lib/active_fedora/attributes.rb', line 97 def unique?(field) !multiple?(field) end |