Sha256: 54494161f14d82f8db0a9d9486810508b2bf03a87073028981313689033a077b

Contents?: true

Size: 644 Bytes

Versions: 8

Compression:

Stored size: 644 Bytes

Contents

# Shim should be included after SharedUser / SharedAdmin
module Shim
  def self.included(klass)
    klass.extend(ModelMethods)
  end

  module ModelMethods
    # Override version in SharedUser which uses #find_by_email.
    def find_for_facebook_oauth(access_token, signed_in_resource=nil)
      data = ActiveSupport::JSON.decode(access_token.get('/me'))
      user = signed_in_resource || User.first(:email => data["email"]) || User.new
      user.update_with_facebook_oauth(access_token, data)
      user.save
      user
    end
    
    def create!(*args)
      create(*args)
    end

    def destroy_all
      all.destroy
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
dm-devise-1.1.8 test/rails_app/app/data_mapper/shim.rb
dm-devise-1.2.0.beta test/rails_app/app/data_mapper/shim.rb
dm-devise-1.1.6 test/rails_app/app/data_mapper/shim.rb
dm-devise-1.1.5 test/rails_app/app/data_mapper/shim.rb
dm-devise-1.1.4 test/rails_app/app/data_mapper/shim.rb
dm-devise-1.1.3 test/rails_app/app/data_mapper/shim.rb
dm-devise-1.1.2 test/rails_app/app/data_mapper/shim.rb
dm-devise-1.1.1 test/rails_app/app/data_mapper/shim.rb