| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- # == Schema Information
- #
- # Table name: authorizations
- #
- # id :integer not null, primary key
- # provider :string
- # uid :string
- # token :string
- # user_id :integer
- # created_at :datetime
- # updated_at :datetime
- # secret :string
- #
- # Indexes
- #
- # index_authorizations_on_user_id (user_id)
- #
- class Authorization < ActiveRecord::Base
- belongs_to :user
- validates_presence_of :user_id, :uid, :provider
- validates_uniqueness_of :uid, scope: :provider
- scope :facebook, lambda { find_by(provider: 'facebook') }
- # after_create :fetch_details
- def fetch_details
- self.send("fetch_details_from_#{self.provider.downcase}")
- end
- def fetch_details_from_facebook
- graph = Koala::Facebook::API.new(self.token)
- profile = graph.get_object("me")
- user = self.user
- user.update_attributes(first_name: profile['first_name'], last_name: profile['last_name'],
- address: profile["location"]["name"])
-
- user.save
- end
- def fetch_details_from_linkedin
- end
- def fetch_details_from_google_oauth2
- end
- def fetch_details_from_github
- end
- end
|