- 浏览: 2072246 次
- 性别:
- 来自: NYC
文章分类
- 全部博客 (628)
- Linux (53)
- RubyOnRails (294)
- HTML (8)
- 手册指南 (5)
- Mysql (14)
- PHP (3)
- Rails 汇总 (13)
- 读书 (22)
- plugin 插件介绍与应用 (12)
- Flex (2)
- Ruby技巧 (7)
- Gem包介绍 (1)
- javascript Jquery ext prototype (21)
- IT生活 (6)
- 小工具 (4)
- PHP 部署 drupal (1)
- javascript Jquery sort plugin 插件 (2)
- iphone siri ios (1)
- Ruby On Rails (106)
- 编程概念 (1)
- Unit Test (4)
- Ruby 1.9 (24)
- rake (1)
- Postgresql (6)
- ruby (5)
- respond_to? (1)
- method_missing (1)
- git (8)
- Rspec (1)
- ios (1)
- jquery (1)
- Sinatra (1)
最新评论
-
dadadada2x:
user模型里加上 protected def email ...
流行的权限管理 gem devise的定制 -
Sev7en_jun:
shrekting 写道var pattern = /^(0| ...
强悍的ip格式 正则表达式验证 -
jiasanshou:
好文章!!!
RPM包rpmbuild SPEC文件深度说明 -
寻得乐中乐:
link_to其实就是个a标签,使用css控制,添加一个参数: ...
Rails在link_to中加参数 -
aiafei0001:
完全看不懂,不知所然.能表达清楚一点?
"$ is not defined" 的问题怎么办
RubyGems是一个库和程序的标准化打包以及安装框架,它使定位、安装、升级和卸载Ruby包变的很容易。rails以及它的大部分插件都是以gem形式发布的。本文描述一个自己创建ruby Gems的过程。gem可以使用你现有的文件夹结构,也可以使用命令创建一个标准的gem包结构。下面是用命令创建一个标准的gem包。
运行: gpgen yourgem
运行完后,会自动生成一个标准的gem包结构:
将自己的代码放在lib/yourgem文件夹下,如果有测试代码,则创建一个test目录,将单元测试的文件都放在这个文件夹下。
将你自己写的rb文件都放在lib/yourgem文件夹下面,比如有a.rb,b.rb
一般的做法,会在lib的根目录下建立一个yourgem.rb文件,这个文件用来引入你lib/yourgem文件夹下的所有rb文件。yourgem.rb文件的内容为:
制作完rb文件后,修改Rakefile
在当前目录运行
运行完成后就会自动生成一个gem,然后你就可以按照gem的语法安装,卸载,升级(可以自己制定gem的地址,或者把它上传到gem plugin的server)这个gem包了
运行: gpgen yourgem
运行完后,会自动生成一个标准的gem包结构:
引用
yourgem
│ COPYING
│ LICENSE
│ Rakefile
│ README
│
├─lib
│ └─yourgem
│ init.rb
│
└─resources
defaults.yaml
│ COPYING
│ LICENSE
│ Rakefile
│ README
│
├─lib
│ └─yourgem
│ init.rb
│
└─resources
defaults.yaml
将自己的代码放在lib/yourgem文件夹下,如果有测试代码,则创建一个test目录,将单元测试的文件都放在这个文件夹下。
将你自己写的rb文件都放在lib/yourgem文件夹下面,比如有a.rb,b.rb
一般的做法,会在lib的根目录下建立一个yourgem.rb文件,这个文件用来引入你lib/yourgem文件夹下的所有rb文件。yourgem.rb文件的内容为:
#yourgem.rb $:.unshift"#{File.dirname(__FILE__)}/yourgem" require ‘a’ require ‘b’
制作完rb文件后,修改Rakefile
# Rakefile require 'rake' require 'rake/testtask' require 'rake/clean' require 'rake/gempackagetask' require 'rake/rdoctask' require 'fileutils' include FileUtils version="0.1.1" #改为你的version name="yourgem" #改为你的gem名字 spec = Gem::Specification.new do |s| s.name = name s.version = version s.email="your-email@email.com" s.homepage = "http://localhost" s.descrīption = s.summary = "xxxxxxxxxxxxx” s.author = "xxxx" s.add_dependency('gem_plugin', '>=0.2.3') s.platform = Gem::Platform::RUBY s.has_rdoc = true s.extra_rdoc_files = ["README"] candidates = %w(COPYING LICENSE README Rakefile) + Dir.glob("{bin,doc/rdoc,test,lib}/**/*") + Dir.glob("ext/**/*.{h,c,rb}") + Dir.glob("examples/**/*.rb") + Dir.glob("tools/*.rb") + Dir.glob("resources/**/*") s.files = candidates.delete_if do |item| #去掉svv和rdoc目录 item.include?(".svn") || item.include?("rdoc") end s.require_path = "lib" s.bindir = "bin" end Rake::GemPackageTask.new(spec) do |p| p.need_tar = true if RUBY_PLATFORM !~ /mswin/ end task :install => [:test, :package] do sh %{sudo gem install pkg/#{name}-#{version}.gem} end task :uninstall => [:clean] do sh %{sudo gem uninstall #{name}} end Rake::TestTask.new do |t| t.libs << "test" t.test_files = FileList['test/test*.rb'] t.verbose = true end Rake::RDocTask.new do |rdoc| rdoc.rdoc_dir = 'doc/rdoc' rdoc.options << '--line-numbers' rdoc.rdoc_files.add ['README', 'LICENSE', 'COPYING', 'lib/**/*.rb', 'doc/**/*.rdoc'] end task :default => [:test, :package] CLEAN.include ['build/*', '**/*.o', '**/*.so', '**/*.a', 'lib/*-*', '**/*.log', 'pkg', 'lib/*.bundle', '*.gem', '.config']
在当前目录运行
Gem build Rakefile
运行完成后就会自动生成一个gem,然后你就可以按照gem的语法安装,卸载,升级(可以自己制定gem的地址,或者把它上传到gem plugin的server)这个gem包了
发表评论
-
Destroying a Postgres DB on Heroku
2013-04-24 10:58 927heroku pg:reset DATABASE -
VIM ctags setup ack
2012-04-17 22:13 3255reference ctags --extra=+f --e ... -
alias_method_chain方法在3.1以后的替代使用方式
2012-02-04 02:14 3287alias_method_chain() 是rails里的一个 ... -
一些快速解决的问题
2012-01-19 12:35 1470问题如下: 引用Could not open library ... -
API service 安全问题
2011-12-04 08:47 1379这是一个长期关注的课题 rest api Service的 ... -
Module方法调用好不好
2011-11-20 01:58 1344以前说,用module给class加singleton方法,和 ... -
一个ajax和rails交互的例子
2011-11-19 01:53 1903首先,这里用了一个,query信息解析的包,如下 https: ... -
Rails 返回hash给javascript
2011-11-19 01:43 2272这是一个特别的,不太正统的需求, 因为,大部分时候,ajax的 ... -
关于Rubymine
2011-11-18 23:21 2262开个帖子收集有关使用上的问题 前一段时间,看到半价就买了。想 ... -
ruby中和javascript中,动态方法的创建
2011-11-18 21:01 1234class Klass def hello(*args) ... -
textmate快捷键 汇总
2011-11-16 07:20 8138TextMate 列编辑模式 按住 Alt 键,用鼠标选择要 ... -
Ruby面试系列六,面试继续面试
2011-11-15 05:55 2018刚才受到打击了,充分报漏了自己基础不扎实,不肯向虎炮等兄弟学习 ... -
说说sharding
2011-11-13 00:53 1481这个东西一面试就有人 ... -
rails面试碎碎念
2011-11-12 23:51 1939面试继续面试 又有问ru ... -
最通常的git push reject 和non-fast forward是因为
2011-11-12 23:29 17209git push To git@github.com:use ... -
Rails 自身的many to many关系 self has_many
2011-11-12 01:43 2731简单点的 #注意外键在person上people: id ... -
Rails 3下的 in place editor edit in place
2011-11-12 01:20 945第一个版本 http://code.google.com/p ... -
Heroku 的诡异问题集合
2011-11-11 07:22 1691开个Post记录,在用heroku过程中的一些诡异问题和要注意 ... -
SCSS 和 SASS 和 HAML 和CoffeeScript
2011-11-07 07:52 12952Asset Pipeline 提供了内建 ... -
Invalid gemspec because of the date format in specification
2011-11-07 02:14 2115又是这个date format的错误。 上次出错忘了,记录下 ...
相关推荐
Ruby 2.1.0 Gem包是专门为Rails 2.1.0版本定制的,确保与该版本的Rails框架兼容,提供了所有必要的库和工具。 Rails 2.1.0是一个里程碑式的版本,引入了一些显著的改进和新特性,例如: 1. **ActiveRecord查询接口...
GEM则是建立在SECS协议之上的一套软件架构,它定义了设备控制器和fab主机系统(Host System)之间的接口。 这个测试模拟器是针对SECS/GEM/GEM300协议的,它可能是用于开发和验证SECS Driver的工具。SECS Driver是...
这个gem包是Rails 2.1.0版本的源代码和相关库的集合,允许开发者在他们的项目中引入这个特定版本的Rails。下面将详细讨论Rails 2.1.0中的关键特性、改进和对开发者的重要意义。 首先,Rails 2.1.0 引入了Action...
Gem 是 Ruby 的包管理器,用于安装和管理各种库和框架,包括 Rails。如果你无法通过网络升级或安装 Rails,可以采用本地安装包的方式。以下是对 Rails 2.3.2 Gem 本地安装包及其使用说明的详细解读。 1. **Rails ...
这样,即使在没有网络的情况下,你也可以启动Rails服务器,创建和运行你的Web应用程序了。 总之,这个压缩包提供了一种离线方式来安装和配置Ruby和Rails环境,特别适用于网络受限的情况。通过提前下载和准备所有...
通过以上步骤,你不仅可以熟练地管理和使用RubyGems,还能创建并分享自己的gem包,为Ruby社区贡献一份力量。记得保持RubyGems和相关库的更新,以获取最新的功能和安全修复。同时,良好的文档和版本控制对于gem的使用...
用于从 Java 包(包括其所有依赖项)创建 Ruby Gem 的命令行工具。 必需的命令行参数: -g, --group Java 库的Maven 组标识符 -n, --name Java 库的名称 -v, --version Java 库的版本 -u, --uber-gem 创建一个包含...
4. **创建 Gem** - `gem init`: 在当前目录生成一个新的 Gem 结构,包括Gemfile、Gemspec 和其他必需的文件。 - `gem build [gemspec_file]`: 构建 Gem 文件,通常为 `.gemspec` 结尾的文件。 - `gem push [gem_...
7. **本地开发**: 开发者可以创建自己的 Gem 并发布到 RubyGems.org,或者在本地测试 Gem,无需实际发布。 8. **执行脚本**: Gem 中可以包含可执行脚本,它们会被自动添加到 PATH 环境变量中,使得用户可以直接运行...
`redis-3.0.0.gem` 是一个Ruby编程语言的Gem包,它是Redis客户端库的版本3.0.0。Ruby社区使用Gem来管理和分发开源软件库,包括数据库连接器、框架和其他实用工具。这个特定的Gem允许Ruby开发者在他们的应用中与Redis...
这款软件的核心在于其能够创建和分析复杂的衍生品模型,包括期权树,从而帮助用户计算期权价格、波动率以及其他相关的金融指标。 1. **期权定价**:DerivaGem的核心功能之一是期权定价。它支持各种期权类型,如欧式...
`redis-3.3.3.gem`是Redis的一个Ruby gem包,版本为3.3.3。Ruby gem是Ruby语言的包管理器,用于方便地安装和管理Ruby库。这个gem包包含了Redis的Ruby客户端,可以让你在Ruby程序中轻松连接和操作Redis服务。安装...
Ruby中的gem包管理器是Ruby生态系统的核心组成部分,它允许开发者轻松地安装、更新和管理Ruby库和框架。如同Python中的pip和JavaScript中的npm,gem提供了一种标准化的方式来处理依赖关系和版本控制。以下是对gem包...
《Gem5全系统仿真模式详解》 Gem5是一款强大的开源仿真工具,被广泛应用于计算机体系结构的研究和系统软件的开发。本章主要聚焦于Gem5的全系统仿真模式(FullSystem Mode),这是一种能够模拟整个硬件系统,包括...
1. **安装gem包**:解压`redis-gem.zip`后,进入目录并运行`gem install redis-3.0.0.gem`来安装Redis的Ruby客户端库。 2. **启动Redis实例**:在系统中安装Redis服务器,启动多个实例,每个实例代表集群中的一个...
GEM是建立在SECS之上的一套接口规范,它定义了设备控制器(Equipment Controller)与主机系统(Host System)之间的交互方式。GEM规范包括设备初始化、状态报告、命令与控制、数据采集等功能,使得主机系统能够远程...
在本场景中,我们关注的是 `redis-3.2.1.gem` 文件,这是一个 Ruby 的包,用于在 Ruby 环境中安装和管理 Redis 集群。 Ruby Gem 是 Ruby 语言的软件包管理系统,类似于 Python 的 pip 或 Java 的 Maven。`.gem` ...
如果你没有物理 Linux 系统,可以使用虚拟机软件如 VirtualBox 或 VMware 创建一个 Linux 虚拟机来运行 `gem5`。 **2. 源码结构** `gem5` 的源码结构清晰,主要分为以下几个部分: - `src/`:核心源代码,包括...
ITRI SECS/GEM Solution是ITRI(工业技术研究院)推出的SECS/GEM(SEMI Equipment Communications Standard/Generic Equipment Model)解决方案,旨在帮助半导体、LCD、LED及太阳能工厂的设备快速建立SECS/GEM通讯...
"redis-4.0.1.gem" 文件是Redis的一个特定版本(4.0.1)的Ruby Gem包,它是Ruby编程语言中用来安装和管理库和框架的包管理系统。这个Gem包使得在Ruby环境中部署和使用Redis变得更加便捷。 首先,我们来详细了解...