Class: AFMotion::ClientDSL

Inherits:
Object
  • Object
show all
Defined in:
lib/afmotion/http_client.rb

Direct Known Subclasses

SessionClientDSL

Constant Summary collapse

OPERATION_TO_REQUEST_SERIALIZER =
{
  json: AFJSONRequestSerializer,
  plist: AFPropertyListRequestSerializer
}
OPERATION_TO_RESPONSE_SERIALIZER =
{
  json: AFJSONResponseSerializer,
  xml: AFXMLParserResponseSerializer,
  plist: AFPropertyListResponseSerializer,
  image: AFImageResponseSerializer,
  http: AFHTTPResponseSerializer,
  form: AFHTTPResponseSerializer
}

Instance Method Summary collapse

Constructor Details

#initialize(operation_manager) ⇒ ClientDSL

Returns a new instance of ClientDSL.



37
38
39
# File 'lib/afmotion/http_client.rb', line 37

def initialize(operation_manager)
  @operation_manager = WeakRef.new(operation_manager)
end

Instance Method Details

#authorization(options = {}) ⇒ Object



45
46
47
# File 'lib/afmotion/http_client.rb', line 45

def authorization(options = {})
  @operation_manager.requestSerializer.authorization = options
end

#header(header, value) ⇒ Object



41
42
43
# File 'lib/afmotion/http_client.rb', line 41

def header(header, value)
  @operation_manager.headers[header] = value
end

#operation_queue(operation_queue) ⇒ Object



49
50
51
# File 'lib/afmotion/http_client.rb', line 49

def operation_queue(operation_queue)
  @operation_manager.operationQueue = operation_queue
end

#request_serializer(serializer) ⇒ Object



57
58
59
60
61
62
63
64
65
# File 'lib/afmotion/http_client.rb', line 57

def request_serializer(serializer)
  if serializer.is_a?(Symbol) || serializer.is_a?(String)
    @operation_manager.requestSerializer = OPERATION_TO_REQUEST_SERIALIZER[serializer.to_sym].serializer
  elsif serializer.is_a?(Class)
    @operation_manager.requestSerializer = serializer.serializer
  else
    @operation_manager.requestSerializer = serializer
  end
end

#response_serializer(serializer) ⇒ Object



75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
# File 'lib/afmotion/http_client.rb', line 75

def response_serializer(serializer)
  write_json_options = true
  if serializer.is_a?(Symbol) || serializer.is_a?(String)
    @operation_manager.responseSerializer = OPERATION_TO_RESPONSE_SERIALIZER[serializer.to_sym].serializer
  elsif serializer.is_a?(Class)
    @operation_manager.responseSerializer = serializer.serializer
  else
    @operation_manager.responseSerializer = serializer
    write_json_options = false
  end
  af_serializer = @operation_manager.responseSerializer
  if af_serializer.is_a?(AFJSONResponseSerializer) && write_json_options
    af_serializer.readingOptions = NSJSONReadingMutableContainers
  end
  af_serializer
end