创建自己的ruby语言gem包
Ruby教程
Step 1. 更新Ruby Gem 和Railsgem update --systemStep 2. 安装Mysql 命令:gem install mysql同时将mysql安装目录下的bin目录下将此文件复制到ruby的bin目录下即可解决此问题(先查看rails的版本,命令:rails -v.如果是2.0以上则没有对MySQL的支持,则需要执行Step2.否则启动出错)如果安装出错,安装sqlite3Step 3. A)打开NetBeans新建项目注意:NetBeans默认的Ruby平台为JRuby,最好改为Ruby,服务器改为WEBrick。
Ruby的默认服务器为WEBrick,但是NetBeans的默认的服务器为GloFish,所以这个地方要改。
B)单击“下一步”这个地方输了,就不用在“配置”--“database.yml”里改数据库的用户名等信息了。
Step 4.下面是我的posts表,两个字段id 和title建model前3步环境搭建成功之后开始在netbeans IDE 用代码生成器开始我们的写代码吧在项目试图,项目名上右键"生成" ->生成器选择"model" 参数写post id:integertitle:string 。
注意:Model的命名,我的表名叫posts,但是我的model名必须和表名相同并且为单数形式。
参数很重要:posts为表名,id是字段名,由于数据库里id的字段类型为int,所以这个地方要写integer. "id:integer " . Title也是一样。
你有几个字段就写几个,字段中间要加空格“id:integer title:string”生成.......modelStep 5自动生成CRUDmodel 建立之后.我们就可以用rails 最简单的自动完成CRUD了.还是在项目试图,项目名上右键"生成" ->选择生成类型"scaffold" 模型名称: user 属性对name:string password:string age:integer生成..........scaffold一定注意图上红色标示的地方Step 6至此,一个对posts表添加、修改、删除的例子就搞定了,开始运行吧、在你的“控制器”下有个posts_controller.rb文件,“啰嗦了哈,你的文件不一定叫这个名字”。
ruby安装升级及命令
Successfully installed rails-2.3.2
6 gems installed
Installing ri documentation for activesupport-2.3.2...
Installing ri documentation for activerecord-2.3.2...
if [ -d "/usr/local/ruby-1.9.1/bin" ] ; then
PATH="/usr/local/ruby-1.9.1/binPATH"
fi
然后 注销 再登陆一次.
#如无意外
ruby -v
#ruby 1.9.1p0 (2009-01-30 revision 21907) [i686-linux]
解压下,进行解压目录,执行一下 sudo ruby setup.rb , 再执行一下 gem -v,发现已经升级到了1.3.1版本.
gem update rails 升级就完成了.
gem升级后,gem list为空,要重新安装需要的gem包.
项目升级的一个问题:
自己对ActiveRecord的一个open class增强(opar.rb文件中)
再次执行 gem list,可以看到如下信息:
*** LOCAL GEMS ***
RubyGem命令详解
RubyGem命令详解Ruby Gem命令详解Gem介绍:Gem是一个管理Ruby库和程序的标准包,它通过Ruby Gem (如)源来查找、安装、升级和卸载软件包,非常的便捷。
Ruby 1.9.2版本默认已安装Ruby Gem,如果你使用其它发行版本,请参考“如何安装Ruby Gem”。
Ruby gem包的安装方式:所有的gem包,会被安装到 /[Ruby root]/lib/ruby/gems/[ver]/ 目录下,这其中包括了Cache、doc、gems、specifications 4个目录,cache下放置下载的原生gem包,gems下则放置的是解压过的gem包。
当安装过程中遇到问题时,可以进入这些目录,手动删除有问题的gem包,然后重新运行 gem install [gemname] 命令即可。
Ruby Gem命令详解:# 更新Gem自身# 注意:在某些linux发行版中为了系统稳定性此命令禁止执行$ gem update --system# 从Gem源安装gem包$ gem install [gemname]# 从本机安装gem包$ gem install -l [gemname].gem# 安装指定版本的gem包$ gem install [gemname] --version=[ver]# 更新所有已安装的gem包$ gem update# 更新指定的gem包# 注意:gem update [gemname]不会升级旧版本的包,此时你可以使用 gem install [gemname] --version=[ver]代替$ gem update [gemname]# 删除指定的gem包,注意此命令将删除所有已安装的版本$ gem uninstall [gemname]# 删除某指定版本gem$ gem uninstall [gemname] --version=[ver]# 查看本机已安装的所有gem包$ gem list [--local]。
Ruby语言开发教程
Ruby语言开发教程1. 简介1.1 Ruby的起源和发展1.2 Ruby的特点和优势1.3 Ruby的应用领域2. 安装与环境配置2.1 下载和安装Ruby2.2 配置编辑器2.3 安装RubyGems和常用Gem包3. 基本语法3.1 变量与常量3.2 数据类型3.3 运算符3.4 控制流程3.5 函数和方法3.6 类和对象3.7 模块和 mixins4. 面向对象编程4.1 类的定义和使用4.2 属性和方法的封装4.3 继承和多态4.4 命名空间5. 进阶特性5.1 高级数据类型:数组、哈希和集合 5.2 迭代器和块5.3 正则表达式5.4 异常处理5.5 Metaprogramming6. Web开发与框架6.1 Ruby on Rails简介6.2 Rails基本概念和架构6.3 创建和部署一个简单的Rails应用 6.4 常用的Rails Gems7. 数据库操作7.1 连接和配置数据库7.2 ActiveRecord的使用7.3 查询数据7.4 数据库迁移和模型关联8. 并发编程8.1 线程和进程的概念8.2 Ruby中的线程和进程8.3 多线程编程8.4 并发安全性和资源共享9. 测试和调试9.1 单元测试9.2 集成测试9.3 调试工具的使用9.4 性能测试和优化技巧10. 安全性和性能优化10.1 常见的安全漏洞与防范10.2 Ruby的性能问题与优化建议10.3 内存管理和垃圾回收11. 开源社区和资源11.1 Ruby的开源文化11.2 常用的Ruby开发工具11.3 学习资源和社区支持11.4 常见问题和解决方案12. 总结与展望12.1 Ruby的未来发展趋势12.2 对Ruby开发者的建议和展望通过本教程,读者将全面了解Ruby语言的基础知识和高级特性,熟悉Ruby在Web开发、数据库操作、并发编程等领域的应用。
同时,将学会使用常用的开发工具、调试技巧和性能优化策略,提高Ruby程序的质量和效率。
快速上手使用Ruby进行Web开发
快速上手使用Ruby进行Web开发第一章:引言Ruby是一种简单、灵活且高效的编程语言,尤其适用于Web开发。
本文将介绍如何快速上手使用Ruby进行Web开发。
我们将分为以下几个章节逐步展开。
第二章:环境设置为了开始使用Ruby进行Web开发,我们首先需要设置开发环境。
请按照以下步骤进行操作:1. 下载和安装Ruby解释器:在Ruby官方网站上下载最新版本的Ruby解释器,并按照安装指南进行安装。
2. 安装RubyGems:RubyGems是Ruby的软件包管理器,它可以帮助我们方便地安装和管理Ruby库。
在命令行中运行`gem install rubygems`进行安装。
3. 安装Bundler:Bundler是一个用于管理项目依赖关系的工具。
在命令行中运行`gem install bundler`进行安装。
第三章:Web框架Ruby有许多流行的Web框架可供选择,比如Ruby on Rails和Sinatra。
这些框架可以帮助我们快速构建Web应用程序。
在本章中,我们将选择其中一个框架来进行介绍。
我们将以Ruby on Rails为例。
Rails是一个基于MVC(Model-View-Controller)架构的高效Web开发框架。
以下是使用Rails进行Web开发的基本步骤:1. 创建一个新的Rails应用程序:在命令行中运行`rails new myapp`,其中`myapp`是你的应用程序名称。
2. 定义数据模型:使用Rails的生成器命令来创建数据库表格和模型类。
例如,运行`rails generate model User name:string email:string`将创建一个用户模型。
3. 设计和实现控制器:使用控制器来处理请求并决定如何响应。
运行`rails generate controller Welcome index`将创建一个欢迎页面的控制器。
4. 创建视图:视图是用户界面的一部分,它用于展示数据和接受用户输入。
redmine配置
Redmine配置过程详解Redmine的配置方法有多种,这里介绍两种:第一种:/redmine/documents/10参考群英汇项目管理平台网站,此网站对redmine的安装有详细的说明,并且不需要下载大第二种:会需要许多的软件:相关软件:Ruby 1.8.7-p249 RubyInstaller.exerubygems-1.3.7.zipmysql-essential-5.1.40-win32.msiredmine-0.9.5.zipWin32OpenSSL0.9.8l.zipZlib1.dlliconv.dllMysql 4.1的libmySQL.dll1.安装Ruby1.8.7,安装过程中的选项选择默认的即可,在选择路径时将其加入环境变量PATH中。
2.将RubyGems 1.3.7 安装包解压到某个临时目录下(例如:C:\rubygems),在Windows的命令行模式下(即cmd)切换到该临时目录,运行如下命令:ruby setup.rb 该命令将离线安装RubyGems 。
安装完毕后可删除该临时目录3.在命令行模式下运行如下命令:gem install rake 该命令将在线安装Rake4.运行如下命令:gem install rails -v=2.3.5 --include-dependencies 该命令将离线安装Rails。
5.安装并运行MySQL 5.1,设置mysql的root访问密码为root。
6.在MySQL 命令行模式下运行如下命令:create database redmine character set utf8; 该命令将创建一个供Redmine 使用的数据库7.在命令行模式下运行如下命令:gem install mysql 在命令将在线安装MySQL 的C bindings,可明显提高访问数据库的性能8.安装Visual C++ 2008 Redistributables9.安装Win32 OpenSSL v0.9.8j Light 。
创建自己的RUBY语言GEM包
因为在写ui自动化脚本时,用到了intlpublic里面的方法,如创建账号和登录等。
我们的调用方式是把整个intlpublic代码checkout出来,放到我们自己的项目中再加以引用。
我想如果可以通过gem包的方式来引用,可能会使代码更简洁。
于是,学习了下gem包的生成方式。
下面是网上的一些资料和自己实践的结合,先简单介绍下gem包的生成方式,供新同学参考。
本文描述一个自己创建ruby Gems的过程。
gem可以使用你现有的文件夹结构,也可以使用命令创建一个标准的gem包结构。
下面是用命令创建一个标准的gem包。
运行:gpgen mygem运行完后,会自动生成一个标准的gem包结构:mygem│COPYING│LICENSE│Rakefile│README│├─lib│└─mygem│init.rb│└─resourcesdefaults.yaml将自己的代码放在lib/mygem文件夹下,如果有测试代码,则创建一个test目录,将单元测试的文件都放在这个文件夹下。
将你自己写的rb文件都放在lib/mygem文件夹下面,比如有gemtest.rb,mtest.rb一般的做法,会在lib的根目录下建立一个mygem.rb文件,这个文件用来引入你lib/mygem文件夹下的所有rb文件。
mygem.rb文件的内容为:#mygem.rb$:.unshift"#{File.dirname(__FILE__)}/mygem"require'gemtest'require'mtest'下面是gemtest和mtest的具体代码:gemtest.rb文件内容如下:声明了一个类和方法class Gemtestdef initialize(name,address)@name=name@address=addressenddef speakputs"#{@name}speak me:i am address#{@address}"endendmtest.rb内容如下:声明了一个模块和方法module MTestdef speakputs"module test"endend准备工作完成了,下面可以开始打gem包。
gem标准 指令数量
gem标准指令数量
Gem是一个管理Ruby库和程序的标准包,其常用命令如下:
1. 查看gem版本:`gem --version`
2. 更新gem:`gem update --system`
3. 查看数据源:`gem sources`
4. 删除数据源:`gem sources --remove <url>`
5. 添加数据源:`gem sources -a <url>`
6. 搜索软件包:`gem search <关键字>`
7. 安装软件包:`gem install <软件包名称>`
8. 卸载软件包:`gem uninstall <软件包名称>`
9. 列出本地以d打头的包:`gem list d`
10. 查找本地含有数字的包:`gem query -n '[0-9]' --local`
11. 从本地和远程服务器上查找含有log字符串的包:`gem search log --both`
12. 只从远程服务器上查找含有log字符串的包:`gem search log --remote`
13. 显示软件包所包含的文件:`gem contents <软件包名称>`
14. 检测软件包是否有效:`gem check -v <软件包名称>`
15. 清除全部包旧版本,保留最新版本:`gem cleanup`
16. 列出与某个包相互依赖的包:`gem dependency <软件包名称>`
以上是部分Gem的常用指令,如需更多指令,建议访问Ruby官网获取更多相关信息。
教你轻松入门Ruby编程语言
教你轻松入门Ruby编程语言Ruby是一种简单而强大的编程语言,由日本程序员松本行弘(Yukihiro Matsumoto)于1993年开发。
它具有简洁的语法和灵活的特性,非常适合初学者入门。
本文将分为四个章节,依次介绍Ruby的基础知识、数据类型与运算、控制流程以及面向对象编程。
第一章:Ruby的基础知识1.1 Ruby的安装与配置首先,你需要下载并安装Ruby的运行环境。
官方网站提供了可直接安装的版本。
安装成功后,可以通过在命令行中输入“ruby -v”来检查是否安装成功。
1.2 Hello World!接下来,让我们编写我们的第一个Ruby程序:输出一句“Hello World!”```rubyputs "Hello World!"```运行以上代码,你将在控制台上看到输出结果。
1.3 变量与常量在Ruby中,你可以使用变量来保存和操作数据。
声明变量时,使用一个小写字母或下划线开头,并且不需要声明变量的类型。
常量也是一种特殊的变量,它的值不能被修改。
在Ruby中,常量以大写字母开头,习惯上使用大写字母表示。
1.4 注释在编写代码时,注释是非常重要的。
在Ruby中,你可以使用单行注释和多行注释来增加可读性。
单行注释以“#”开头,它可以在一行代码的末尾或中间使用。
```ruby# 这是一个单行注释puts "Hello World!" # 注释也可以在代码中使用```多行注释使用“=begin”和“=end”将注释内容包裹起来。
```ruby=begin这是一个多行注释可用于注释多行代码或长的注释内容=endputs "Hello World!"```第二章:数据类型与运算2.1 基本数据类型Ruby支持各种基本数据类型,包括整数、浮点数、布尔值、字符串等。
你可以使用不同的方法来声明和操作这些数据类型。
2.2 数组与哈希数组是一组有序的元素,可以使用方括号“[]”来声明。
快速入门指南如何学习编写Ruby代码的教程
快速入门指南如何学习编写Ruby代码的教程Ruby是一种简洁而强大的编程语言,广泛用于Web开发和脚本编写。
想要学习编写Ruby代码,每个初学者都需要一个指南来帮助他们快速入门。
本文将提供一个简明扼要的指南,帮助您迅速上手学习Ruby代码的编写。
1. 安装Ruby环境要开始学习Ruby编码,首先需要在您的计算机上安装Ruby环境。
您可以从官方网站上下载并安装适合您操作系统的最新版本的Ruby。
安装成功后,您可以在命令行中输入ruby -v来验证Ruby版本。
2. 学习Ruby基础知识在编写任何代码之前,首先需要学习Ruby的基础知识。
您可以选择阅读官方文档、书籍、在线教程或参加编程课程来学习Ruby的基本语法、变量、数据类型、运算符和控制流等知识。
理解这些基础概念是学习Ruby编程的关键。
3. 使用Ruby编写第一个程序对于初学者来说,编写并运行第一个程序是非常令人激动和有成就感的。
在学习Ruby的过程中,您可以尝试编写一个简单的“Hello, World!”程序。
通过这个简单的程序,您将学会如何定义函数、输出文本以及运行Ruby代码。
```rubydef hello_worldputs "Hello, World!"endhello_world```在命令行中运行上述代码,您将看到“Hello, World!”的输出。
4. 掌握Ruby的核心概念学习编写Ruby代码的过程中,您需要掌握Ruby的核心概念。
其中一些重要的概念包括:- 变量和常量:了解如何声明和使用变量和常量。
- 数据类型:熟悉Ruby支持的各种数据类型,如字符串、整数、浮点数、数组和哈希等。
- 函数和方法:学习如何定义和调用函数和方法。
- 类和对象:理解面向对象编程的基本概念,学会创建类和实例化对象。
- 模块和库:掌握如何使用模块和库来扩展Ruby的功能。
5. 刻意练习学习编写Ruby代码最重要的一点是进行刻意练习。
Ruby程序设计基础教程
Ruby程序设计基础教程第一章:Ruby简介与安装Ruby是一种简洁而强大的面向对象编程语言,它的设计注重开发人员的生产效率和代码可读性。
本章将介绍Ruby语言的特点和优势,并提供安装Ruby环境的步骤。
1.1 Ruby语言特点Ruby是一种动态、解释型的编程语言,具有以下特点:- 简洁优雅:Ruby语法简单清晰,可读性强,使开发人员能够编写易于理解和维护的代码。
- 面向对象:Ruby是一种面向对象的语言,一切皆对象,使得代码的结构更加模块化和可扩展。
- 动态性:Ruby支持动态类型和动态方法定义,使得代码更加灵活和适应变化。
- 开发效率高:Ruby内置了许多高级特性和库,能够快速进行开发,并提供丰富的社区资源和插件支持。
1.2 Ruby环境安装安装Ruby环境是使用Ruby进行开发的第一步。
根据不同的操作系统,Ruby的安装方式也有所不同。
- 对于Windows用户,可以通过下载RubyInstaller来安装Ruby环境,并设置系统环境变量。
- 对于Mac用户,可以通过Homebrew工具来安装Ruby环境,并使用RVM(Ruby Version Manager)来管理不同版本的Ruby。
- 对于Linux用户,可以通过系统包管理器(如apt、yum)来安装Ruby环境。
第二章:Ruby语法基础本章将介绍Ruby的基本语法规则和常用数据类型,为进一步的程序设计打下基础。
2.1 变量和常量Ruby中的变量使用前不需要声明类型,只需使用var = value的方式进行赋值。
常量使用大写字母开头,并使用全大写命名规则。
2.2 数据类型Ruby支持多种数据类型,包括整数、浮点数、字符串、数组、哈希、布尔值等。
可以使用不同的方法对这些数据类型进行操作和处理。
2.3 控制结构Ruby提供了丰富的控制结构,包括条件语句、循环语句、异常处理等。
可以根据需要选择合适的控制结构来控制程序流程。
第三章:Ruby面向对象编程Ruby是一种纯粹的面向对象编程语言,本章将深入探讨Ruby的面向对象特性和相关概念。
windows下安装和配置redmine
Redmine安装与配置一:搭建ruby on rails1安装RubyInstaller1.8.7-p300.exe在C盘目录下,并将子目录bin 的路径加入到Windows 的PATH 环境变量中(例如:在PATH 环境变量中加入C:\ruby-1.8.7\bin )下载地址:/download2. 将RubyGems 1.4.2安装包解压到某个临时目录下(C:\rubygems-1.4.2),在Windows 的命令行模式下切换当前目录为该临时目录,运行如下命令:该命令将离线安装RubyGems1.4.2 。
下载地址:/download或/frs/?group_id=1263 将Rake-0.8.3.gem文件放到临时目录下(C:\Rake0.8.3)下载地址:/4. 将Rails 2.3.3 的安装包解压到某个临时目录下(C:\rails ),在命令行模式下切换当前目录为该临时目录,运行如下命令:该命令将离线安装Rails2.3.3 。
下载地址:/frs/?group_id=3075. 安装过程中会提示rails的版本号不得低于2.3.4,离线下载Rails-2.3.4.gem文件放到c盘目录下,下载地址:/frs/?group_id=307然后按照系统提示分别安装activerecord-2.3.4.gem下载地址:/frs/?group_id=182,actionpack-2.3.4.gem下载地址:/frs/?group_id=249,Actionmailer-2.3.4.gem下载地址:/frs/?group_id=361,activeresource-2.3.4.gem下载地址:/frs/?group_id=3507&release_id= 39553(可尝试直接安装rails-2.3.4)6.安装rack-1.0.1.gem,运行如下命令:下载地址:/releases/rack-1.0.1.tar.gz7. 在成功安装好Rails2.3.4和Rack1.0.1之后,安装mysql5.0.22并进行配置。
第2章 搭建Ruby开发环境
2.2.3 Aptana RadRails介绍
• Aptana是一个基于Eclipse的定位于网络开发的 IDE。早期的RadRails是一个独立的专门针对Ruby 和Ruby on Rails开发的Eclipse插件,后来被包 含在Aptana中,形成了一个Aptana RadRails的版 本。RadRails比较适合熟悉Eclipse的人员使用。 另外它是一个同时提供HTML、Javascript、CSS格 式支持,能够不断利用插件扩展的集成式IDE,因 此也特别适合进行基于Ruby on Rails的网站开发。 • Aptana现在分为专业版和共享版两种,专业版售 价99美元,共享版是免费的。共享版下载地址为 /studio/download/。
2.3 相关工具介绍
• 除了编辑工具以外,还有一些Ruby相关工具会经 常用到。这些工具大部分已经在Ruby的一键安装 包中包含,即不需要再去下载安装了。
2.3.1 irb(交互式Ruby Shell)
• 如果想练习使用或者是简单测试Ruby,交互式 Ruby程序——简称irb是最好的帮手。它提供一个 命令行式的环境,可以实时接收语句的输入并反 馈显示执行的结果。
第2章 搭建Ruby开发环境
• 在开始学习Ruby语言之前,首先需要在计算机上 搭建好Ruby的开发环境。2.1节中将介绍如何安装 Ruby语言支持,让计算机能够运行Ruby代码。2.2 节中将介绍一些常用的编辑工具,选择合适的编 辑工具往往有助于提高编写代码的效率。最后一 节中将介绍Ruby的一些相关实用工具,它们也是 Ruby环境中不可缺少的一部分。
2.3.3 gem (Ruby包管理)
• RubyGems是一个库和程序的标准化打包以及安装 框架。正如前面所述,Ruby程序可以通过各种类 型的库来扩展功能,对于库的标准化管理也是极 其重要的。RubyGems即是这样的一个框架,使得 Ruby包的查找、安装、升级和卸载都变得非常容 易。 • 通常而言,开发人员将要发布的程序或库打包到 一个gem文件中,然后通过互联网或其他方式将 gem文件公开。需要使用这个程序或库的人,则可 以使用一个称为gem的工具在互联网上查到这个包, 然后可以自动下载并安装这个包,在不需要的时 候也可以随时将它卸载。gem工具同样已经包含在 Ruby的一键安装包中,无需再去下载了。
学习使用Ruby进行脚本编程
学习使用Ruby进行脚本编程当谈到脚本编程语言时,Ruby通常是一个备受推崇的选择。
Ruby是一种简洁而强大的编程语言,广泛用于Web开发、自动化脚本和数据分析等领域。
本文将深入探讨学习使用Ruby进行脚本编程的过程,从基础知识到高级技巧,帮助初学者快速入门并提供一些进一步学习的路径。
1. Ruby的特点在学习使用Ruby进行脚本编程之前,我们首先了解一下Ruby的一些特点。
Ruby是一种面向对象的语言,具有简单易读的语法和丰富的内置库。
这种可读性使得Ruby成为初学者和专业开发人员喜欢的语言之一。
此外,Ruby还支持代码块和迭代器,使得编程变得更加灵活和高效。
2. 安装Ruby要开始使用Ruby进行脚本编程,首先需要在计算机上安装Ruby环境。
可以从Ruby官方网站上下载适用于不同操作系统的安装包,并按照官方指南进行安装配置。
3. Ruby基础知识在准备好环境之后,我们可以开始学习Ruby的基础知识。
Ruby的语法相对简单且易于学习,下面是一些必备的基础知识点:- 变量和数据类型:学习如何声明变量和使用不同的数据类型,例如字符串、整数、浮点数、数组和哈希等。
- 条件语句和循环:了解如何使用条件语句(if-else)和循环语句(for、while)来控制程序的流程。
- 函数和方法:学习如何定义和调用函数和方法,以及如何传递参数和返回值。
- 文件操作:掌握如何读取和写入文件,处理文件的内容和结构。
- 异常处理:了解如何捕获和处理异常,以及如何使程序更加健壮和容错。
4. Ruby标准库和GemRuby的标准库提供了许多有用的功能和模块,可以帮助我们更高效地编写脚本。
例如,我们可以使用`net/http`模块进行网络请求,使用`csv`模块处理CSV文件,使用`json`模块解析和生成JSON数据等等。
通过阅读官方文档和实践,我们可以逐渐熟悉这些库的使用方法,并在实际开发中充分发挥它们的作用。
此外,Ruby还拥有一个丰富的第三方库生态系统,称为Gem。
如何创建自己的rubygem包
如何创建自己的rubygem包编写一个最简单的例子1. 建好如下文件夹注意:lib目录下必须有个和你gem名字一样的rb文件。
[ruby]view plaincopy1.$ cd hola2.$ tree3..4.├── hola.gemspec5.└── lib6.└── hola.rb2. 编写代码. hola.rb[ruby]view plaincopy1.% cat lib/hola.rb2.class Hola3.def self.hi4.puts "Hello world!"5.end6.end.hola.gemspec[ruby]view plaincopy1.% cat hola.gemspec2.Gem::Specification.new do |s| = 'hola'4.s.version = '0.0.0'5.s.date = '2010-04-28'6.s.summary = "Hola!"7.s.description = "A simple hello world gem"8.s.authors = ["Nick Quaranto"]9.s.email='**************'10.s.files = ["lib/hola.rb"]11.s.homepage =12.'/gems/hola'13.end这里面可以设置很多属性。
我会专门写篇文章介绍。
上面字段的意思,比较简单。
相信大家都能理解。
3.编译生成gem[ruby]view plaincopy1.% gem build hola.gemspec2.Successfully built RubyGem: hola4.Version: 0.0.05.File: hola-0.0.0.gem6.7.% gem install ./hola-0.0.0.gem8.Successfully installed hola-0.0.09.1 gem installed4.测试使用[ruby]view plaincopy1.% irb2.>> require 'hola'3.=> true5.Hello world!注意:在ruby 1.9.2之前到版本里面,需要先require 'rubygem',才能使用我们写的gem.5.发布到rubygems网站[ruby]view plaincopy1.$ curl -u tom https:///api/v1/api_key.yaml >2.~/.gem/credentials3.Enter host password for user 'tom':设定完之后发布[ruby]view plaincopy1.% gem push hola-0.0.0.gem2.Pushing gem to ...3.Successfully registered gem: hola (0.0.0)发布成功。
写gem的英文作文
写gem的英文作文英文:Writing a gem is a great way to package and share your code with others. It allows you to create a reusable piece of software that can be easily installed and used by others in their own projects. In this article, I will discuss the process of writing a gem and provide some tips and tricks to help you get started.The first step in writing a gem is to come up with a name for your gem and create a new project directory. You can do this using the command line or an integrated development environment (IDE). Once you have created your project directory, you can start writing your gem code.One of the most important things to keep in mind when writing a gem is to follow best practices and conventions. This includes using clear and concise naming conventions, organizing your code into logical modules and classes, andfollowing the Ruby style guide.Another important aspect of writing a gem is to write thorough and well-documented code. This means including detailed comments and documentation for each method andclass in your gem. It also means writing tests to ensurethat your code is working as expected and to catch any bugs or errors.Finally, once you have written your gem code, you can package it up and share it with others. This is done by creating a gemspec file, which contains information about your gem, such as its name, version, and dependencies. You can then use the gem command to build and install your gem, making it available for others to use in their own projects.中文:写一个gem是一种很好的方式,可以将你的代码打包并与他人分享。
Ruby学习笔记之gem命令详解
Ruby学习笔记之gem命令详解ruby -v #查看ruby 版本 ruby -e ''require"watir"; puts Watir::IE::VERSION'' #查看watir版本rvm list known #列出已知的ruby版本rvm install 1.9.3rvm use 1.9.3 | rvm use systemrvm use 1.9.3 --defaultrvm list #列出本地ruby版本rvm remove 1.9.2gem -v #gem版本gem source #gem资源gem sources -a url |gem sources -r url #gem添加或删除配置源gem update #更新所有包gem update --system #更新RubyGems软件gem install rake #安装rake,从本地或远程服务器gem install rake --remote #安装rake,从远程服务器gem install watir -v(或者--version) 1.6.2#指定安装版本的gem uninstall rake #卸载rake包gem list d #列出本地以d打头的包gem query -n ''[0-9]'' --local #查找本地含有数字的包gem search log --both #从本地和远程服务器上查找含有log字符串的包gem search log --remoter #只从远程服务器上查找含有log字符串的包gem search -r log #只从远程服务器上查找含有log字符串的包gem help #提醒式的帮助gem help install #列出install命令帮助gem help examples #列出gem命令使⽤⼀些例⼦gem build rake.gemspec #把rake.gemspec编译成rake.gemgem check -v pkg/rake-0.4.0.gem #检测rake是否有效gem cleanup #清除所有包旧版本,保留最新版本gem contents rake #显⽰rake包中所包含的⽂件gem dependency rails -v 0.10.1 #列出与rails相互依赖的包gem environment #查看gem的环境。
RubyDevelopment五大基本武器
RubyDevelopment五⼤基本武器Ruby作为⼀门新兴的语⾔,借助Rails这个killer application 在这⼏年发展迅速。
这篇⽂章是我学习Ruby这⼀个⽉以来的⼀点总结,当然主要的基调还是参考的Peter Cooper 的。
废话少说,下⾯开始。
概要:1. RubyGems2. A good IDE or TextEditer3. Instant Rails4. Mongrel5. A Rss Feed Reader1、RubyGems通常情况下 RubyGems 是包装,发布,安装 Ruby Library 的常⽤途径。
它可以让开发者把⾃⼰的产品封装成可以安装的包。
这个可以安装包我们称为“Gems” 。
这个包可以⽅便开发者发布或者下载运⾏Ruby程序。
和其他的包管理系统或者安装操作系统差不多的是,RubyGems可以检测到你想安装包所依赖的包,并且⾃动安装运⾏。
这样我们就可以通过⼀个命令⾏⽅便的安装第三⽅的Ruby库并且保证其能运⾏(解决依赖问题)。
当然,提到包管理系统最重要的就是版本管理了,每个库⼏乎都有不同的版本,有时候程序开发的时候可能需要⽤到同⼀个库的不同版本,这个问题怎么解决呢?还好RubyGems已经帮我们想到了,我们可以同时安装和维护库的多个版本,你需要做的只是在安装或者启⽤的时候输⼊版本号码。
2、A good IDE or TextEditerRuby到现在来说除了在Mac平台上有TextMate这个公认的好IDE之外仿佛没有什么公认的如之与dotnet⼀样的killer app啊。
原作者给列出来了⼀部分,不过除了RADRails这个我⽤之外,其他的都不怎么care,或者说感觉不出来怎么好⽤,所以直接把他的考过来,⼤家看看。
只有radrails我谈谈,其他的列出来,然后在附加两个我感觉⽐较好⽤的ruby ide。
RADRails是我感觉中应该是第⼀个跨平台的,开源的专门针对ruby开发的ide。
制作自己的gem:自己手写法
制作自己的gem:自己手写法制作你自己的gemBy Yuanyi ZHANG | Published: July 1, 2007对于初学者来说,可能经常会使用gem命令来安装一些Ruby软件包,但是随着能力的提升,你可能不再满足于仅仅编写教科书上的示例程序,你开始尝试编写一些有实际用途的程序,并且你觉得这些程序可能会对其它人有用,这时候你就需要将你的程序打包并发布给其他人,Ruby自带的包管理软件gem可以很好的帮你完成这个任务,本篇指南将通过一个简单的“Hello,gem!”程序来演示如何制作自己的GEM程序包。
首先假设我们的程序目录结构如下:gem-sample/bin/gem-samplelib/gem-sample.rbspec/gem-sample-spec.rbREADMECHANGESRakefile我们的sample程序很简单,它只是简单的打印一句话:module GemSampledef GemSample.runputs "Hello, gem!"endend可执行程序实际上也是一个ruby脚本:$LOAD_PATH.unshift(File.expand_path(File.dirname(__FILE__)+ "/../lib"))require "gem-sample"GemSample.run它读取lib文件夹下的gem-smaple.rb文件,然后调用它的run 方法。
现在我们要将这个程序打包成一个gem文件,gempackagetask 让我们可以通过Rake来完成打包工作,我们可以这样定义我们的Rakefile:require 'rubygems'require 'rake/gempackagetask'PKG_NAME = "gem-sample"PKG_VERSION = "1.0.0"PKG_FILE_NAME = "#{PKG_NAME}-#{PKG_VERSION}"PKG_FILES = FileList['[A-Z]*','lib/**/*.rb','spec/**/*.rb','bin/**/*',]spec = Gem::Specification.new do |s|s.platform = Gem::Platform::RUBYs.summary = "Just a sample gem." = PKG_NAMEs.version = PKG_VERSIONs.requirements << 'none's.require_path = 'lib's.autorequire = 'gem-sample's.executables = ['gem-sample']s.default_executable = 'gem-sample's.author = ["sample team"]s.email="**********************"s.files = PKG_FILESs.description = <<-EOFJust a gem sample.EOFendRake::GemPackageTask.new(spec) do |pkg|pkg.need_zip = truepkg.need_tar = trueend生成gem文件的关键是spec结构,通过它可以控制gem文件的各个属性,大部分属性的含义都可以通过名字来理解,这里就不解释了。
fluentd 源码编译
fluentd 源码编译
要编译Fluentd的源码,首先你需要确保你的系统上安装了Ruby和RubyGems。
接下来,你需要按照以下步骤进行操作:
1. 下载Fluentd的源代码。
你可以从GitHub上找到Fluentd 的源代码,并将其克隆到你的本地环境中。
2. 安装必要的依赖。
在编译Fluentd之前,你需要安装一些必要的依赖项,比如Ruby的开发工具包和一些构建工具。
你可以使用RubyGems来安装这些依赖项。
3. 运行构建命令。
进入Fluentd源码目录,运行构建命令来编译源代码。
通常情况下,你可以运行`gem build fluentd.gemspec`来构建Fluentd的Gem包。
4. 安装编译后的Gem包。
一旦编译完成,你可以使用`gem install`命令来安装编译后的Gem包。
需要注意的是,编译Fluentd的源码可能会因为系统环境、依赖项版本等因素而有所不同。
在编译过程中可能会遇到一些问题,
你需要根据具体情况进行调整和解决。
另外,Fluentd的官方文档
中也提供了详细的编译指南,你可以参考官方文档来获取更多帮助。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
因为在写ui自动化脚本时,用到了intlpublic里面的方法,如创建账号和登录等。
我们的调用方式是把整个intlpublic代码checkout出来,放到我们自己的项目中再加以引用。
我想如果可以通过gem包的方式来引用,可能会使代码更简洁。
于是,学习了下gem包的生成方式。
下面是网上的一些资料和自己实践的结合,先简单介绍下gem包的生成方式,供新同学参考。
本文描述一个自己创建ruby Gems的过程。
gem可以使用你现有的文件夹结构,也可以使用命令创建一个标准的gem包结构。
下面是用命令创建一个标准的gem包。
运行: gpgen mygem运行完后,会自动生成一个标准的gem包结构:mygem│ COPYING│ LICENSE│ Rakefile│ README│├─lib│└─mygem│ init.rb│└─resourcesdefaults.yaml将自己的代码放在lib/mygem文件夹下,如果有测试代码,则创建一个test目录,将单元测试的文件都放在这个文件夹下。
将你自己写的rb文件都放在lib/mygem文件夹下面,比如有gemtest.rb,mtest.rb一般的做法,会在lib的根目录下建立一个mygem.rb文件,这个文件用来引入你lib/mygem文件夹下的所有rb文件。
mygem.rb文件的内容为:#mygem.rb$:.unshift"#{File.dirname(__FILE__)}/mygem"require 'gemtest'require 'mtest'下面是gemtest和mtest的具体代码:gemtest.rb文件内容如下:声明了一个类和方法class Gemtestdef initialize(name,address)@name=name@address=addressenddef speakputs "#{@name} speak me: i am address #{@address}"endendmtest.rb内容如下:声明了一个模块和方法module MTestdef speakputs "module test"endend准备工作完成了,下面可以开始打gem包。
在项目根目录下,即mygem目录下运行命令:gem build Rakefile,这时可以看到新生成了一个名为mygem-o.1.gem的包安装gem包,运行命令:gem install mygem-o.1.gem安装成功后,可以试验一下是否可以运行gem包中定义的方法。
在netbeans中创建一个rb文件,调用gem中的方法,代码如下:#将gem包引用进来require "mygem"#调用类的方法a=Gemtest.new("aa", "bb")a.speak#调用模块的方法include MTestspeak运行结果:aa speak me: i am address bbmethod test需要注意的是:调用类的方法和调用模块的方法是不一样的,调用类的方法时需要先创建类的实例,上述类中的initialize方法相当于java中的构造函数。
然后通过类的实例调用方法。
调用模块中的方法只需要将模块include进来,直接通过方法名调用。
用上面的方法将IntlPulic打成gem包,将intlpublic里面的文件copy到lib目录下,在lib目录的同级创建一个intlpublic.rb文件,需要注意的是,intlpublic里面有个总控文件intllib,所以intlpublic.rb文件内容如下:$:.unshift"#{File.dirname(__FILE__)}/IntlPublic"require 'intllib'rakefile里面的内容需要修改一下,改成该项目相关的信息,这里不详细说明。
,打包后我们只需要在在项目中include该包,调用包里面常用的方法,例如:IntlTestData.get_randemailIntlTextField.set(@ie, "kw", "mp3", "n", nil) 等方法。
调用这些方法时不会有什么问题,但是在调用我们经常用到的创建账号和登录的方法时,会遇到几个错误。
即IntlAccountCenter.insert_account("cgs")MAPublic.intl_main_login("hufucgs1","hello1234")在调用创建账号的方法时,错误提示为找不到项目路径下IntlPublic\sql\insert_account.sql文件。
错误提示如下:c:/ruby/lib/ruby/gems/1.8/gems/IntlPublic-20110729/lib/commons/DataBaseOp.rb:96:in `initialize': No such file or directory - D:/rubyworkspace/AutoDev/AAA/BBB/../IntlPublic/sql/insert_account.sql (Errno::ENOENT)注:我测试的ruby文件路径为D:\rubyworkspace\AutoDev\AAA\BBB\case\Test.rb通过查看创建账号的方法IntlAccountCenter.insert_account("cgs"),发现里面调用了DataBaseOp的方法,即,DataBaseOp.execute_sql_file("insert_account.sql",params,database_name),再查看该方法,该方法的定义为:def self.execute_sql_file(filename,datapool,database="ICBU.ALIBABA")sql_array = read_sql_file($ProjectPath + "/../IntlPublic/sql/#{filename}")return execute_sql_array(sql_array,datapool,database)end可以发现里面用到了$ProjectPath这个系统变量,所以在通过gem调用方法时,默认还是从当前项目路径中去找相应的sql文件,解决办法就是把需要用到的sql文件提取出来,放到磁盘目录下,重新指定$ProjectPath的值,让其能找到sql文件。
在调用登录方法时,会报错如下:c:/ruby/lib/ruby/gems/1.8/gems/pwatir-2.2.1.2011063010/lib/pwatir/log.rb:262:in`logStep': private method `gsub' called for nil:NilClass (NoMethodError)通过错误提示,找到log.rb下的log_step函数,错误提示在如下代码段:module_name = $ModuleName.gsub(/[\/\\:\*\?"<>|\s]/,"")scene_name = $SceneName.gsub(/[\/\\:\*\?"<>|\s]/,"")也就是说,我们需要在项目中指定$ModuleName = ""$SceneName = ""补充这些信息后,继续运行,发现还是报错如下:c:/ruby/lib/ruby/gems/1.8/gems/activerecord-2.2.2/lib/active_record/connection_adapters/abstr act_adapter.rb:188:in `log': Mysql::Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version forthe right syntax to use near ') LIMIT 1' at line 1: SELECT * FROM `log_text_draft` WHERE (log_case_id =) LIMIT 1 (ActiveRecord::StatementInvalid)究其原因,是因为需要连接web日志数据库的启动程序,加入如下代码:projectLogStart()sceneLogStart()最后,程序运行起来了,成功创建了账号并登录成功。
完整的test.rb文件代码如下:require "pwatir"require "rubygems"path = File.dirname(File.expand_path(__FILE__))path = path.gsub("\\","/")array = path.split("/")index = array.index("case")path_array = array[0..index-1]path_array << "bin"root_path = path_array.join("/")require root_path+"/initialize"$ProjectPath = "D:\\IntlPublic\\lib\\IntlPublic" projectLogStart()moduleLogStart()$ModuleName = ""$SceneName = ""sceneLogStart()require "IntlPublic"account = IntlAccountCenter.insert_account("cgs")puts account["email"]ie = MAPublic.intl_main_login(account["email"],"hello1234") puts ie.titlesceneLogStop()。