Module: Shared::DataAttributes
- Extended by:
- ActiveSupport::Concern
- Included in:
- AssertedDistribution, BiologicalAssociation, BiologicalRelationship, CharacterState, CollectingEvent, CollectionObject, CommonName, Content, Depiction, Descriptor, Extract, Georeference, Loan, LoanItem, Observation, ObservationMatrix, Otu, Person, Repository, Sequence, Serial, Source, TaxonDetermination, TaxonName, TypeMaterial, User
- Defined in:
- app/models/concerns/shared/data_attributes.rb
Overview
Shared code extending data classes with data-attributes (predicate->value tags).
Instance Method Summary collapse
- #import_attributes ⇒ Scope
- #internal_attributes ⇒ Scope
-
#keyword_value_hash ⇒ Hash
All data attributes in String (name) -> value format.
- #reject_data_attributes(attributed) ⇒ Object
Instance Method Details
#import_attributes ⇒ Scope
21 22 23 |
# File 'app/models/concerns/shared/data_attributes.rb', line 21 def import_attributes data_attributes.where(type: 'ImportAttribute') end |
#internal_attributes ⇒ Scope
16 17 18 |
# File 'app/models/concerns/shared/data_attributes.rb', line 16 def internal_attributes data_attributes.where(type: 'InternalAttribute') end |
#keyword_value_hash ⇒ Hash
Returns all data attributes in String (name) -> value format.
27 28 29 30 31 32 33 34 35 36 |
# File 'app/models/concerns/shared/data_attributes.rb', line 27 def keyword_value_hash self.data_attributes.inject({}) do |hsh, a| if a.kind_of?(ImportAttribute) hsh[a.import_predicate] = a.value else # If not an ImportAttribute then it's an InternalAttribute hsh[a.predicate.name] = a.value end hsh end end |
#reject_data_attributes(attributed) ⇒ Object
38 39 40 |
# File 'app/models/concerns/shared/data_attributes.rb', line 38 def reject_data_attributes(attributed) attributed['value'].blank? || attributed['type'].blank? end |