class SocialProfile::Providers::Facebook
Public Instance Methods
birthday()
click to toggle source
# File lib/social_profile/providers/facebook.rb, line 34 def birthday @birthday ||= begin Date.strptime(extra('raw_info')['birthday'],'%m/%d/%Y') rescue Exception => e nil end end
gender()
click to toggle source
0 - unknown 1 - female 2 - male Возвращаемые значения: 1 - женский, 2 - мужской, 0 - без указания пола.
# File lib/social_profile/providers/facebook.rb, line 26 def gender @gender ||= case extra('raw_info')['gender'] when 'male' then 2 when 'female' then 1 else 0 end end
picture_url()
click to toggle source
developers.facebook.com/docs/reference/api/#pictures
# File lib/social_profile/providers/facebook.rb, line 8 def picture_url @picture_url ||= begin url = info('image').split('?').shift() check_url([url, "type=large"].join('?')) end end
profile_url()
click to toggle source
# File lib/social_profile/providers/facebook.rb, line 15 def profile_url @profile_url ||= begin urls = info('urls') urls.nil? ? nil : urls['Facebook'] end end
works()
click to toggle source
# File lib/social_profile/providers/facebook.rb, line 46 def works return [] unless works? @works ||= extra('raw_info')['work'] end
works?()
click to toggle source
# File lib/social_profile/providers/facebook.rb, line 42 def works? raw_info? && extra('raw_info')['work'] && extra('raw_info')['work'].is_a?(Array) end
Protected Instance Methods
check_url(url)
click to toggle source
# File lib/social_profile/providers/facebook.rb, line 53 def check_url(url) response = Utils.head(url, :follow_redirects => false) if response.code == 302 && response.headers['location'] [response.headers['location']].flatten.first else url end end
raw_info?()
click to toggle source
# File lib/social_profile/providers/facebook.rb, line 63 def raw_info? extra('raw_info') && extra('raw_info').is_a?(Hash) end