Sha256: d4a96d3b326559b6f606edb12d7a62d02a0b2eaf662b82e9baf18edc85e03a3e
Contents?: true
Size: 1.38 KB
Versions: 2
Compression:
Stored size: 1.38 KB
Contents
module EnjuSubject module EnjuManifestation def self.included(base) base.extend ClassMethods end module ClassMethods def enju_subject_manifestation_model include InstanceMethods attr_accessible :subjects_attributes, :classifications_attributes has_many :subjects has_many :classifications accepts_nested_attributes_for :subjects, :allow_destroy => true, :reject_if => :all_blank accepts_nested_attributes_for :classifications, :allow_destroy => true, :reject_if => :all_blank after_save do subject_index! end after_destroy do subject_index! end searchable do text :subject do subjects.map{|s| [s.term, s.term_transcription]}.flatten.compact end string :subject, :multiple => true do subjects.map{|s| [s.term, s.term_transcription]}.flatten.compact end string :classification, :multiple => true do classifications.map{|c| "#{c.classification_type.name}_#{c.category}"} end integer :subject_ids, :multiple => true end end module InstanceMethods def subject_index! subjects.map{|subject| subject.index} classifications.map{|classification| classification.index} Sunspot.commit end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
enju_subject-0.1.0.pre28 | lib/enju_subject/manifestation.rb |
enju_subject-0.1.0.pre27 | lib/enju_subject/manifestation.rb |