Sha256: 0d6b26ed7843027e48448e1f599493e2a922a61b6f294a64a6afbe525e7b603c

Contents?: true

Size: 1.25 KB

Versions: 2

Compression:

Stored size: 1.25 KB

Contents

class Caren::ExternalMessage < Caren::Base
      
  def self.keys
    [ :caren_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)
      :subject_id           # Integer (Caren person id)
    ]
  end
  
  def create
    Caren::Api.post self.class.resource_url(self.subject_id), self.to_xml
  end
  
  def delete
    Caren::Api.delete self.class.resource_url(self.subject_id,self.caren_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
    "#{Caren::Api.url}#{self.resource_location % subject_id}#{id}"
  end
    
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
caren-api-0.2.0 lib/caren/external_message.rb
caren-api-0.1.0 lib/caren/external_message.rb