Method: RFb::User#select_all

Defined in:
lib/r_fb/user.rb

#select_allObject



51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
# File 'lib/r_fb/user.rb', line 51

def select_all
  fb_uids = self.fb_id.to_i
  raise "Facebook user id is 0/nil for user: #{self.inspect}" if fb_uids == 0
  parsed_response = RFb.request({
                      method: "facebook.Users.getInfo", 
                      uids: [fb_uids].to_s, 
                      fields: FIELDS.map(&:to_s).to_s
                    })
  # puts "parsed response: [uids: #{[self.fb_id.to_i]} ] "
  # puts parsed_response.inspect
  FIELDS.map do |field|
    value = parsed_response[field.to_s]
    instance_variable_set("@#{field}", value)
    user.send("#{field}=",  value) unless EXCLUDED_FIELDS.include?(field)
  end
  #user.update_attributes(name: "Francesco")

  unless user.save
    raise "RFb::User#select_all failed, failed to #user.save, user: #{user.errors.inspect}"
  end
  
  self
end