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