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
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
如何创建自己的ruby gem包
编写一个最简单的例子 1. 建好如下文件夹 注意:lib目录下必须有个和你gem名字一样的rb文件。 $ cd hola $ tree . ├── hola.gemspec └── lib └── hola.rb 2. 编写代码 . hola.rb % cat lib/hola.rb class Hola def self.hi puts "
Ruby的gem是什么
gem是什么 - 昭哥的博客 - 博客频道 - CSDN.NET  http://blog.csdn.net/lecool/article/details/50260575 Gem解释:        RubyGems软件允许您轻松下载、安装和使用ruby在您的系统软件包。 这个软件包被称为“Gem”和包含一个Ruby包应用程序或库。        Gem
Gem 与 Bundler - Ruby项目依赖管理
Gem 与 Bundler - Ruby项目依赖管理 (此文转载,抱歉忘记出处了) gem与bundler是关于一个ruby项目的软件包依赖的, 它们是以一个ruby项目为中心的. 如果是跟项目无关的ruby运行环境的配置管理, 需要去了解 rvm 与 gemset. gem: gem就是ruby的软件包. 一个gem就是一个ruby软件.
ruby gem 本地安装方法
问题: railsinstaller中没有默认带有mysql的gem。 使用railsinstaller安装配置完rails环境后,发现无法使用gem update --system等更新或者安装远程的gem的gem install –remote mysql的命令没有成功,都报下面类似的错误:Gem::RemoteFetcher::FetchError,太多的连接重置。 网上有人说是地址被
GemFile详解(一)
What Is the GemFile ? Gemfile事我们创建的一个用于描述gem之间的依赖。gem是一堆ruby代码的集合,它能够为我们提供调用。你的GemFile必须放在项目的根目录下,这是Bundler的要求,对于任何的其他形式的包管理文件来说,这是标准,GemFile会作为ruby代码来执行。当在Bundler上下文环境中被执行能使我们访问一些方法,我们用这些方法来解释gem和req
Ruby学习笔记之gem 命令详解
Ruby学习笔记之gem 命令详解ruby -v #查看ruby 版本 ruby -e ''require"watir"; puts Watir::IE::VERSION'' #查看watir版本 rvm list known #列出已知的ruby版本 rvm install 1.9.3 rvm use 1.9.3 | rvm use system rvm use 1.9.3 --default
gem 安装与使用
ruby 是一种语言,是某些软件包代码的执行环境。而gem是管理这些基于ruby程序的程序。 安装 gem Mac 自带 gem 安装源管理列出安装源gem sources -l http://gems.github.com/ http://rubygems.org/ https://gems.ruby-china.org 添加安装源 gem sources -a XXXgem so
解决国内ruby gem不能用的问题
最近在安装ruby的时候 执行以下语句失败             如下图: gem update --system来升级gem 原因是ruby 的gem被和谐了,现在淘宝的ruby工程师架设了rubygems的国内镜像。使用方法如下: $ gem sources --remove https://rubygems.org/ $ gem sources -a
ruby离线安装所需所有的gem文件(另有安装包)
ruby installer, sqlite3-ruby 离线所需gem文件 rails离线安装gem文件
Ruby Gem 开发入门(一)
背景上一篇文章说过,每一次建立新的Rails项目,都需要重复的配置一些gem包,比如mina、grape、rspec等。本着偷懒的原因,产生了建立一个公共项目,把常见的gem的配置写成generator,之后需要配置的时候,直接用脚手架生成即可。 既然都做到这一步了,不如干脆做成一个gem包。 因此,今天开始学习gem的开发,在github上找到了一个star比较多的教程radar/guides