2 summericeredtea summerICEREDTEA 于 2013.01.05 11:28 提问

ruby根据模板生成文件使用什么gem?

有一些重复的代码 就是方法名 参数不一样 想用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"] 这里面的参数

1个回答

hooopo
hooopo   2013.01.05 13:36
已采纳

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);
        }
    }];
}

然后根据传来的变量生成你想要的结果..

Csdn user default icon
上传中...
上传图片
插入图片