Esempio n. 1
0
    def method_parameters(api):
        parameters = []

        # Create request object parameters
        request_object = iOSTemplateMethods.get_api_request_object(api)
        if request_object:
            parameters.extend(
                ObjCParameter.generate_field_parameters(request_object))
            parameters.extend(
                ObjCParameter.generate_relationship_parameters(request_object))

        # Add id parameter if we need it
        id_parameter = ObjCParameter.create_id_parameter(
            api.url_path, request_object)
        if id_parameter:
            parameters.append(id_parameter)

        # Add required RestKit parameters
        parameters.extend([
            ObjCParameter(
                name="success",
                objc_type=
                "void (^)(RKObjectRequestOperation *operation, RKMappingResult *mappingResult)"
            ),
            ObjCParameter(
                name="failure",
                objc_type=
                "void (^)(RKObjectRequestOperation *operation, NSError *error)"
            )
        ])

        return ObjectiveCTemplateMethods.create_parameter_signature(parameters)
Esempio n. 2
0
 def test_generate_objc_relationship_parameters(self):
     schema = create_dynamic_schema({
         "$userRequest": {
             "username": "******",
             "profile": "O2O,$profileRequest",
             "tags": "M2M,$tagRequest"
         },
         "$profileRequest": {},
         "$tagRequest": {}
     }, [])
     request_object = schema.data_objects['$userRequest']
     parameters = ObjCParameter.generate_relationship_parameters(request_object)
     self.assertEqual(parameters[0].name, "profile")
     self.assertEqual(parameters[0].objc_type, "ProfileRequest")
     self.assertEqual(parameters[1].name, "tags")
     self.assertEqual(parameters[1].objc_type, "NSOrderedSet*")
Esempio n. 3
0
 def test_generate_objc_relationship_parameters(self):
     schema = create_dynamic_schema(
         {
             "$userRequest": {
                 "username": "******",
                 "profile": "O2O,$profileRequest",
                 "tags": "M2M,$tagRequest"
             },
             "$profileRequest": {},
             "$tagRequest": {}
         }, [])
     request_object = schema.data_objects['$userRequest']
     parameters = ObjCParameter.generate_relationship_parameters(
         request_object)
     self.assertEqual(parameters[0].name, "profile")
     self.assertEqual(parameters[0].objc_type, "ProfileRequest")
     self.assertEqual(parameters[1].name, "tags")
     self.assertEqual(parameters[1].objc_type, "NSOrderedSet*")
Esempio n. 4
0
    def method_parameters(api):
        parameters = []

        # Create request object parameters
        request_object = iOSTemplateMethods.get_api_request_object(api)
        if request_object:
            parameters.extend(ObjCParameter.generate_field_parameters(request_object))
            parameters.extend(ObjCParameter.generate_relationship_parameters(request_object))

        # Add id parameter if we need it
        id_parameter = ObjCParameter.create_id_parameter(api.url_path, request_object)
        if id_parameter:
            parameters.append(id_parameter)

        # Add required RestKit parameters
        parameters.extend([
            ObjCParameter(name="success",
                          objc_type="void (^)(RKObjectRequestOperation *operation, RKMappingResult *mappingResult)"),
            ObjCParameter(name="failure",
                          objc_type="void (^)(RKObjectRequestOperation *operation, NSError *error)")
        ])

        return ObjectiveCTemplateMethods.create_parameter_signature(parameters)