Sha256: 256e469df04e999af21781c02f476632214a1bce3cc6fe043d70b339ce371687
Contents?: true
Size: 883 Bytes
Versions: 3
Compression:
Stored size: 883 Bytes
Contents
class QueuedListing < ActiveRecord::Base belongs_to :import serialize :listing_data after_save :create_listing_and_remove_myself def mapper "Mapper::#{self.import.import_format.name.downcase.capitalize}".constantize end def create_or_update_listing listing = self.import.listings. eager_load(:address). eager_load(:appliances). eager_load(:participants). eager_load(:photos). find_or_initialize_by( listing_key: mapper.unique_identifier(self) ) if (listing.modification_timestamp != mapper.modification_timestamp(self, listing)) Mapper::RESO_LISTING_ATTRIBUTES.each do |attribute| listing.send("#{attribute}=", mapper.send(attribute, self, listing)) end listing.save end end def create_listing_and_remove_myself create_or_update_listing ? self.destroy : false end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
reso-0.1.0.3 | app/models/queued_listing.rb |
reso-0.1.0.2 | app/models/queued_listing.rb |
reso-0.1.0.1 | app/models/queued_listing.rb |