class Stormpath::Provider::AccountResolver
Attributes
data_store[R]
parent_href[R]
request[R]
Public Class Methods
new(data_store, parent_href, request)
click to toggle source
# File lib/stormpath-sdk/provider/account_resolver.rb 22 def initialize(data_store, parent_href, request) 23 @data_store = data_store 24 @parent_href = parent_href 25 @request = request 26 assert_not_nil(parent_href, 'parent_href argument must be specified') 27 assert_kind_of(AccountRequest, request, "Only #{AccountRequest} instances are supported.") 28 end
Public Instance Methods
provider_data()
click to toggle source
# File lib/stormpath-sdk/provider/account_resolver.rb 35 def provider_data 36 # TODO: need to add an options hash and pass all attributes from the providers? 37 # https://stormpath.atlassian.net/wiki/display/AM/Social+Login+V2/#SocialLoginV2-ClientAPIChanges 38 @provider_data ||= {}.tap do |body| 39 body[request.token_type.to_s.camelize(:lower)] = request.token_value 40 body['providerId'] = request.provider 41 body['accountStore'] = request_account_store_hash if request.account_store.present? 42 end 43 end
resolve_provider_account()
click to toggle source
# File lib/stormpath-sdk/provider/account_resolver.rb 30 def resolve_provider_account 31 attempt.provider_data = provider_data 32 data_store.create(href, attempt, Stormpath::Provider::AccountResult) 33 end
Private Instance Methods
attempt()
click to toggle source
# File lib/stormpath-sdk/provider/account_resolver.rb 47 def attempt 48 @attempt ||= data_store.instantiate(AccountAccess) 49 end
href()
click to toggle source
# File lib/stormpath-sdk/provider/account_resolver.rb 51 def href 52 "#{parent_href}/accounts" 53 end
request_account_store_hash()
click to toggle source
# File lib/stormpath-sdk/provider/account_resolver.rb 55 def request_account_store_hash 56 request.account_store.transform_keys { |key| key.to_s.camelize(:lower) } 57 end