Class: AFMotion::SessionClientDSL
- Defined in:
- lib/afmotion/session_client.rb
Defined Under Namespace
Classes: Config
Constant Summary collapse
- SESSION_CONFIGURATION_SHORTHAND =
{ default: :defaultSessionConfiguration, ephemeral: :ephemeralSessionConfiguration, background: "backgroundSessionConfiguration:".to_sym }
Constants inherited from ClientDSL
ClientDSL::OPERATION_TO_REQUEST_SERIALIZER, ClientDSL::OPERATION_TO_RESPONSE_SERIALIZER
Instance Attribute Summary collapse
-
#operation_manager ⇒ Object
(also: #config)
Returns the value of attribute operation_manager.
Instance Method Summary collapse
-
#initialize(base_url) ⇒ SessionClientDSL
constructor
A new instance of SessionClientDSL.
- #session_configuration(session_configuration, identifier = nil) ⇒ Object
- #to_session_manager ⇒ Object
Methods inherited from ClientDSL
#authorization, #header, #operation_queue, #request_serializer, #response_serializer
Constructor Details
#initialize(base_url) ⇒ SessionClientDSL
Returns a new instance of SessionClientDSL.
70 71 72 73 |
# File 'lib/afmotion/session_client.rb', line 70 def initialize(base_url) @base_url = base_url @operation_manager = Config.new end |
Instance Attribute Details
#operation_manager ⇒ Object Also known as: config
Returns the value of attribute operation_manager.
67 68 69 |
# File 'lib/afmotion/session_client.rb', line 67 def operation_manager @operation_manager end |
Instance Method Details
#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 |
#to_session_manager ⇒ Object
75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 |
# File 'lib/afmotion/session_client.rb', line 75 def to_session_manager session_manager = AFHTTPSessionManager.alloc.initWithBaseURL(@base_url.to_url, sessionConfiguration: config.sessionConfiguration) session_manager.responseSerializer = config.responseSerializer if config.responseSerializer if !config.requestSerializer.is_a?(Config::MockRequestSerializer) session_manager.requestSerializer = config.requestSerializer elsif config.requestSerializer. session_manager.requestSerializer. = config.requestSerializer. end config.headers.each do |key, value| session_manager.requestSerializer.headers[key] = value end session_manager.operationQueue = config.operationQueue if config.operationQueue session_manager end |