# Copyright (c) 2010, Diaspora Inc. This file is # licensed under the Affero General Public License version 3 or later. See # the COPYRIGHT file. class StatusMessage < Post include Diaspora::Socketable include YoutubeTitles require File.join(Rails.root, 'lib/youtube_titles') validates_length_of :message, :maximum => 1000, :message => "please make your status messages less than 1000 characters" xml_name :status_message xml_reader :message key :message, String many :photos, :class => Photo, :foreign_key => :status_message_id validate :message_or_photos_present? attr_accessible :message before_save do get_youtube_title message end def to_activity <<-XML #{self.message} #{person.url}status_messages/#{self.id} #{self.created_at.xmlschema} #{self.updated_at.xmlschema} http://activitystrea.ms/schema/1.0/post http://activitystrea.ms/schema/1.0/note XML end protected def message_or_photos_present? unless !self.message.blank? || self.photos.count > 0 errors[:base] << 'Status message requires a message or at least one photo' end end end