Method: AFMotion::SessionClientDSL#session_configuration

Defined in:
lib/afmotion/session_client.rb

#session_configuration(session_configuration, identifier = nil) ⇒ Object



97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
# File 'lib/afmotion/session_client.rb', line 97

def session_configuration(session_configuration, identifier = nil)
  if session_configuration.is_a?(Symbol) || session_configuration.is_a?(String)
    method_signature = SESSION_CONFIGURATION_SHORTHAND[session_configuration.to_sym]
    ns_url_session_configuration = begin
      if identifier
        NSURLSessionConfiguration.send(method_signature, identifier)
      else
        NSURLSessionConfiguration.send(method_signature)
      end
    end
    self.config.sessionConfiguration = ns_url_session_configuration
  elsif session_configuration.is_a?(NSURLSessionConfiguration) ||
      # cluster class smh
      session_configuration.class.to_s.include?("URLSessionConfiguration")
    self.config.sessionConfiguration = session_configuration
  else
    raise "Invalid type for session_configuration; need Symbol, String, or NSURLSessionConfiguration, but got #{session_configuration.class}"
  end
end