Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Itinerary < ActiveRecord::Base
- belongs_to :package
- has_and_belongs_to_many :experiences
- def add_package(package)
- self.experience_ids += package.experience_ids
- consolidate_experiences
- end
- def remove_package(package)
- self.experience_ids -= package.experience_ids
- consolidate_experiences
- end
- def add_experience(experience)
- self.experiences << experience
- consolidate_experiences
- end
- def remove_experience(experience)
- self.experiences << experience
- consolidate_experiences
- end
- private
- def consolidate_experiences
- # Look at experiences, are they a package, if so flag itinerary as a package
- self.package = (self.experience_ids.sort.uniq == self.experiences.first.package.experience_ids.sort.uniq) ? self.experiences.first.package : nil
- end
- end
Add Comment
Please, Sign In to add comment