31 lines
		
	
	
		
			698 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
			
		
		
	
	
			31 lines
		
	
	
		
			698 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
| module Connectors
 | |
|   class ProviderAccounts < Base
 | |
| 
 | |
|     include Helpers::InsertCommand,
 | |
|             Helpers::DeleteCommand
 | |
| 
 | |
|     def initialize(db)
 | |
|       super(db)
 | |
|     end
 | |
| 
 | |
|     def provider_accounts provider
 | |
|       c = Provider::ProviderFactory.get_account_class(provider)
 | |
|       collection.find({provider: provider}).to_a.map{|bson| c.build_from_bson(bson)}
 | |
|     end
 | |
| 
 | |
|     def collection_name
 | |
|       'provider_accounts'
 | |
|     end
 | |
| 
 | |
|     private
 | |
| 
 | |
|     def model_from_bson(bson)
 | |
|       c = Provider::ProviderFactory.get_account_class(bson["provider"])
 | |
|       raise InvalidRecord.new "Invalid provider '#{bson["provider"]}' for account '#{bson["_id"]}'" if c.nil?
 | |
|       c.build_from_bson(bson)
 | |
|     end
 | |
|   end
 | |
| 
 | |
| end
 | |
| 
 | 
