Skip to content
Extraits de code Groupes Projets
comment.rb 1,37 ko
Newer Older
  • Learn to ignore specific revisions
  • class Comment
      include MongoMapper::Document
      include ROXML
    
    maxwell's avatar
    maxwell a validé
      include Diaspora::Webhooks
    
    Raphael's avatar
    Raphael a validé
      include Encryptable
    
    maxwell's avatar
    maxwell a validé
      xml_accessor :person, :as => Person
      xml_accessor :post_id
    
    Raphael's avatar
    Raphael a validé
      xml_accessor :_id 
    
    Raphael's avatar
    Raphael a validé
      
    
      key :text, String
      timestamps!
      
      key :post_id, ObjectId
      belongs_to :post, :class_name => "Post"
      
      key :person_id, ObjectId
      belongs_to :person, :class_name => "Person"
    
    Raphael's avatar
    Raphael a validé
      def push_upstream
    
    Raphael's avatar
    Raphael a validé
        Rails.logger.info("GOIN UPSTREAM")
    
    Raphael's avatar
    Raphael a validé
        push_to([post.person])
      end
    
      def push_downstream
    
    Raphael's avatar
    Raphael a validé
        Rails.logger.info("SWIMMIN DOWNSTREAM")
    
    Raphael's avatar
    Raphael a validé
        push_to(post.people_with_permissions)
      end
    
    
    Raphael's avatar
    Raphael a validé
      #ENCRYPTION
    
    Raphael's avatar
    Raphael a validé
      xml_accessor :creator_signature
    
    Raphael's avatar
    Raphael a validé
      key :creator_signature, String
      key :post_creator_signature, String
    
      def signable_accessors
        accessors = self.class.roxml_attrs.collect{|definition| 
          definition.accessor}
        accessors.delete 'person'
        accessors.delete 'creator_signature'
        accessors.delete 'post_creator_signature'
        accessors
      end
    
      def signable_string
        signable_accessors.collect{|accessor| 
          (self.send accessor.to_sym).to_s}.join ';'
      end
    
    
      def verify_post_creator_signature
    
        verify_signature(post_creator_signature, post.person)
    
    Raphael's avatar
    Raphael a validé
      end
      
    
    Raphael's avatar
    Raphael a validé
      def signature_valid?
    
    Raphael's avatar
    Raphael a validé
        verify_signature(creator_signature, person)
    
    Raphael's avatar
    Raphael a validé
      end
    
    Raphael's avatar
    Raphael a validé
      
    
    maxwell's avatar
    maxwell a validé
    end