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