def initialize(request, options = {}, &block)
raise TypeError unless request.kind_of?(OAuth::RequestProxy::Base)
@request = request
@options = options
@consumer_secret = options[:consumer].secret if options[:consumer]
@consumer_secret = options[:consumer_secret] if options[:consumer_secret]
@token_secret = options[:token].secret if options[:token]
@token_secret = options[:token_secret] if options[:token_secret]
if block_given?
secrets = yield block.arity == 1 ? request : [token, consumer_key, nonce, request.timestamp]
if secrets.is_a?(Array) && secrets.size == 2
@token_secret = secrets[0]
@consumer_secret = secrets[1]
end
end
end