Sha256: 1a8d46793609fe49065bbed431779f1f5f8e54a4439f6ff5c9f2a81b999a0b79

Contents?: true

Size: 1.02 KB

Versions: 20

Compression:

Stored size: 1.02 KB

Contents

module Fb
  # Provides methods to interact with Facebook users through the Graph API.
  # @see https://developers.facebook.com/docs/graph-api/reference/user/
  class User < Resource
    # @param [Hash] options to initialize a User object.
    # @option [String] :access_token an access token for the user.
    def initialize(options = {})
      @access_token = options[:access_token]
    end

    # @return [String] the user’s email address.
    def email
      @email ||= begin
        params = {fields: :email, access_token: @access_token}
        request = HTTPRequest.new path: '/me', params: params
        request.run.body['email']
      end
    end

    # @return [Array<Fb::Page>] the pages managed by the user.
    def pages
      @pages ||= begin
        params = {access_token: @access_token}
        request = HTTPRequest.new path: '/me/accounts', params: params
        request.run.body['data'].map do |page_data|
          Page.new symbolize_keys(page_data.merge access_token: @access_token)
        end
      end
    end
  end
end

Version data entries

20 entries across 20 versions & 1 rubygems

Version Path
fb-core-1.0.0.beta11 lib/fb/user.rb
fb-core-1.0.0.beta10 lib/fb/user.rb
fb-core-1.0.0.beta9 lib/fb/user.rb
fb-core-1.0.0.beta8 lib/fb/user.rb
fb-core-1.0.0.beta7 lib/fb/user.rb
fb-core-1.0.0.beta6 lib/fb/user.rb
fb-core-1.0.0.beta5 lib/fb/user.rb
fb-core-1.0.0.beta4 lib/fb/user.rb
fb-core-1.0.0.beta3 lib/fb/user.rb
fb-core-1.0.0.beta2 lib/fb/user.rb
fb-core-1.0.0.beta1 lib/fb/user.rb
fb-core-1.0.0.alpha12 lib/fb/user.rb
fb-core-1.0.0.alpha11 lib/fb/user.rb
fb-core-1.0.0.alpha10 lib/fb/user.rb
fb-core-1.0.0.alpha9 lib/fb/user.rb
fb-core-1.0.0.alpha8 lib/fb/user.rb
fb-core-1.0.0.alpha7 lib/fb/user.rb
fb-core-1.0.0.alpha6 lib/fb/user.rb
fb-core-1.0.0.alpha5 lib/fb/user.rb
fb-core-1.0.0.alpha4 lib/fb/user.rb