有一些重復的代碼 就是方法名 參數不一樣 想用ruby自動生成 請問用什麼gem呢?
--UPDATE--
-(void)doUpdateUserInfo:(NSDictionary *)params success:(YunposAPISuccess)success failure:(YunposAPIFailure)failure{
[self postPath:@"" parameters:[self createParam:params action:@"doUpdateUserInfo" model:@"user"] success:^(AFHTTPRequestOperation *operation, id responseObject) {
if (success) {
success((AFJSONRequestOperation*)operation, responseObject);
}
} failure: ^(AFHTTPRequestOperation *operation, NSError *error){
if (failure) {
failure((AFJSONRequestOperation *)operation, error);
}
}];
}
類似這樣一個函數 我要寫好多次
但是 每個函數 會變的 只有函數名 然後[self postPath:@"" parameters:[self createParam:params action:@"doUpdateUserInfo" model:@"user"]
這裡面的參數
ERB
就可以了!
更簡單點用here doc
然後gsub
替換一下也行。
好像編輯器都有插入片段相同格式代碼的功能。
ERB就是類似這樣:
# tmp.erb
-(void)<%= function_name %>:(NSDictionary *)params success:(YunposAPISuccess)success failure:(YunposAPIFailure)failure{
[self <%= path_name %>:@"" parameters:[self createParam:params action:@"doUpdateUserInfo" model:@"user"] success:^(AFHTTPRequestOperation *operation, id responseObject) {
if (success) {
success((AFJSONRequestOperation*)operation, responseObject);
}
} failure: ^(AFHTTPRequestOperation *operation, NSError *error){
if (failure) {
failure((AFJSONRequestOperation *)operation, error);
}
}];
}
然後根據傳來的變量生成你想要的結果..