Sha256: 3d551ca5c1fca3e38ae5f5396292f91c79a8fd825191f27dd4c05048dbc9a627

Contents?: true

Size: 1.66 KB

Versions: 64

Compression:

Stored size: 1.66 KB

Contents

class Caren::ExternalMessage < Caren::Base

  def self.keys
    [ :id,                  # Integer (Caren message id)
      :person_name,         # String (Andre Foeken)
      :person_id,           # Integer (Caren person id)
      :external_person_id,  # String (Your person id)
      :care_provider_id,    # Integer (Caren CP 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)
    ] + super
  end

  def self.all subject_id, session
    from_xml session.get(self.resource_url(subject_id))
  end

  def self.find subject_id, id, session
    from_xml session.get(self.resource_url(subject_id,id))
  end

  def create session
    self.class.from_xml 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/pro/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

64 entries across 64 versions & 1 rubygems

Version Path
caren-api-0.4.34 lib/caren/external_message.rb
caren-api-0.4.33 lib/caren/external_message.rb
caren-api-0.4.32 lib/caren/external_message.rb
caren-api-0.4.31 lib/caren/external_message.rb