Sha256: cb91be3ee212b1f3a9fea10236b3e77ca5d97d468261c986fb3075a47a21faaf

Contents?: true

Size: 1.36 KB

Versions: 2

Compression:

Stored size: 1.36 KB

Contents

class Caren::ExternalMessage < Caren::Base
      
  def self.keys
    [ :id,                  # String (Caren message id) 
      :person_name,         # String (Andre Foeken)
      :external_person_id,  # String (Your person id)      
      :body,                # Text
      :external_id,         # String (Your message id)
      :in_reply_to_id,      # Integer (Caren message id)
      :in_reply_to_type,    # The type of message this is a reply to. (Always ExternalMessage if reply is set)
      :subject_id           # Integer (Caren person id)
    ]
  end
        
  def create session
    session.post self.class.resource_url(self.subject_id), self.to_xml
  end
  
  def delete session
    session.delete self.class.resource_url(self.subject_id,self.id)
  end
  
  def self.array_root
    :external_messages
  end
  
  def self.node_root
    :external_message
  end
  
  def as_xml
    { :person_name => self.person_name,
      :external_person_id => self.external_person_id,
      :body => self.body,
      :external_id => self.external_id,
      :in_reply_to_id => self.in_reply_to_id }
  end
  
  def self.resource_location
    "/api/people/%i/external_messages/"
  end
      
  private

  def resource_url subject_id, id=nil
    self.class.resource_url(subject_id,id)
  end
  
  def self.resource_url subject_id, id=nil
    "#{self.resource_location % subject_id}#{id}"
  end
    
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
caren-api-0.4.1 lib/caren/external_message.rb
caren-api-0.4.0 lib/caren/external_message.rb