class CS::Messages

Attributes

after[RW]
data[RW]
q[RW]

Public Class Methods

getMessages(type='inbox', limit=5, start=nil) click to toggle source
# File lib/csapi/messages.rb, line 8
def self.getMessages(type='inbox', limit=5, start=nil)
  types = ['inbox', 'sent'];
  throw ArgumentError.new("Can't fetch messages of kind #{type}") unless types.include? type;
  
  url = "/users/#{CS::instance.uid}/messages"
  q = {
    type: type,
    limit: limit
  }
  
  if (start)
    q[:start] = start
  end
  
  r = HTTP.get(url, query:q);
  object = JSON.parse r.body
  
  CS::Messages.new(object, q); 
end
new(object, q) click to toggle source
# File lib/csapi/messages.rb, line 29
def initialize(object, q)
  @after = object['after'] if object.include? 'after';
  @q = q;
  @data = object['object'].map {|u| Message.new(u) }
end

Public Instance Methods

has_more?() click to toggle source
# File lib/csapi/messages.rb, line 41
def has_more?
  return @after != nil
end
method_missing(meth, *args, &block) click to toggle source
# File lib/csapi/messages.rb, line 36
def method_missing meth, *args, &block
  @data.send(meth.to_sym, *args, &block)
end
more(limit=nil) click to toggle source
# File lib/csapi/messages.rb, line 46
def more limit=nil
  Messages.getMessages(@q[:type], (limit || @q[:limit]), @after)
end