class TripIt::Profile

Attributes

about_me_info[R]
activity_feed_url[R]
alerts_feed_url[R]
company[R]
group_memberships[R]
home_city[R]
ical_url[R]
photo_url[R]
profile_email_addresses[R]
profile_url[R]
public_display_name[R]
ref[R]
screen_name[R]

Public Class Methods

new(client, source = nil) click to toggle source
# File lib/trip_it/classes/profile.rb, line 7
def initialize(client, source = nil)
  @client = client
  @tripCache ||= {}
  populate(source)
end

Public Instance Methods

points_programs() click to toggle source
# File lib/trip_it/classes/profile.rb, line 54
def points_programs
  return [] if self.is_pro == false
  return @progArr unless @progArr.nil?
  @progArr = []
  progList = @client.list("/points_program")["PointsProgram"]
  unless progList.nil?
    if progList.is_a?(Array)
      progList.each do |prog|
        @progArr << TripIt::PointsProgram.new(prog)
      end
    else
      @progArr << TripIt::PointsProgram.new(progList)
    end
  end
  return @progArr
end
populate(source) click to toggle source
# File lib/trip_it/classes/profile.rb, line 13
def populate(source)
  info = source || @client.get("/profile")["Profile"]
  
  @screen_name              = info['screen_name']
  @public_display_name      = info['public_display_name']
  @profile_url              = info['profile_url']
  @home_city                = info['home_city']
  @company                  = info['company']
  @about_me_info            = info['about_me_info']
  @photo_url                = info['photo_url']
  @activity_feed_url        = info['activity_feed_url']
  @alerts_feed_url          = info['alerts_feed_url']
  @is_pro                   = Boolean(info['is_pro'])
  @is_client                = Boolean(info['is_client'])
  @ical_url                 = info['ical_url']
  @ref                      = info['@attributes']['ref']
  @profile_email_addresses  = []
  @group_memberships        = []
  
  chkAndPopulate(@profile_email_addresses, TripIt::ProfileEmailAddress, info['ProfileEmailAddresses']['ProfileEmailAddress']) unless info['ProfileEmailAddresses'].nil?
  chkAndPopulate(@group_memberships, TripIt::Group, info['GroupMemberships']['Group']) unless info['GroupMemberships'].nil?
end
subscribe_trips() click to toggle source
# File lib/trip_it/classes/profile.rb, line 71
def subscribe_trips
  @client.subscribe("/trip")
end
trips(params = {}) click to toggle source
# File lib/trip_it/classes/profile.rb, line 36
def trips(params = {})
  serialized_param_str = params.keys.sort.inject('') do |str, key| str += "#{key}:#{params[key]}::" end
  return @tripCache[serialized_param_str] unless @tripCache[serialized_param_str].nil?
  tripArr = []
  tripList = @client.list("/trip", params)["Trip"]
  unless tripList.nil?
    if tripList.is_a?(Array)
      tripList.each do |trip|
        tripArr << TripIt::Trip.new(@client,trip['id'],params[:include_objects])
      end
    else
      tripArr << TripIt::Trip.new(@client,tripList['id'],params[:include_objects])
    end
  end
  @tripCache[serialized_param_str] = tripArr
  return tripArr
end
unsubscribe() click to toggle source
# File lib/trip_it/classes/profile.rb, line 75
def unsubscribe
  @client.unsubscribe
end