`
inosin
  • 浏览: 91078 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

rails3中23个gem包都是做什么用的?

阅读更多
安装了rails3后,系统会自动安装23个gem包,比rails2时代的7个gem包大大有所增加,到底这些包都是做什么用的呢?下面让我们来看看:

rails2所包含的gem包:

  • activesupport
  • activerecord
  • rack
  • actionpack
  • actionmailer
  • activeresource
  • rails


rails3所包含的gem包:

abstract (1.0.0)
  提供一个库可以在ruby中定义抽象方法。我们知道,ruby中是不提供抽象方法的,引入这个库之后,可以简单的创建抽象方法,有两种使用方式:
require 'abstract'
# 简写方式
class Foo
  abstract_method 'arg1, arg2=""', :method1, :method2, :method3
end
# 标准方式
class Bar
  def method1(arg1, arg2="")
    not_implemented
  end

  def method2(arg1, arg2="")
    not_implemented
  end
end


actionmailer (3.0.3)
  Rails的email组件,可以以控制器/视图的方式来撰写、发送、接收和测试电子邮件,支持群发和附件

actionpack (3.0.3)
  Rails的Web应用组件,包含三部分:Action Controller, Action View 和 Action Dispatch。是整个MVC的VC部分,可以使用在Rack兼容的服务器上。

activemodel (3.0.3)
  这个组件用于提供一个定义好的接口,用于建立ORM(activerecord)与actionpack之间的关系映射,也就是MVC的M部分,它支持:attributes, callbacks, validations, observers, serialization, internationalization, and testing等。也就是说它把Rails2中的activerecord各项功能抽象出来做成了接口,如果有需要,你只要实现这些接口就可以建立自己的ORM来取代activerecord。

activerecord (3.0.3)
  Rails的数据库操作组件,建立一个持久的领域模型用于数据库表和ruby类之间的映射。它用于提供基本的CRUD功能,强大的查找功能,和模型之间的关联,数据校验、迁移和测试等。

activeresource (3.0.3)
  Rails的REST实现。包装你的RESTful风格的web应用,用于实现基于web的资源和本地CURD对象之间的映射

activesupport (3.0.3)
  是从rails提取出来的一个支持工具包库和Ruby的核心扩展。支持多字节字串,国际化,时区和测试。

arel (2.0.4)
  1)简单的生成复杂的SQL查询;2)适用于各种RDBMS系统。可以把它当成是框架中的框架,就是说可以用它创建自己的ORM系统,只需要把注意力集中在创新和建模,而不是数据库兼容性和查询的生成。通过大量通俗易懂的关系操作符,几乎可以覆盖80%的数据库操作。下面举几个例子:
posts = Arel::Table.new(:posts)
posts.project(Arel.sql('*')).to_sql
# => SELECT * FROM `posts`
posts.project(posts[:title]).to_sql
# => SELECT `posts`.`title` FROM `posts`
posts.where(posts[:title].eq('test')).to_sql
# => SELECT  FROM `posts` WHERE `posts`.`title` = 'test'
posts.take(5).skip(4).to_sql
# => SELECT  FROM `posts` LIMIT 5 OFFSET 4


builder (2.1.2)
  提供了一些builder对象,用于简单的创建结构化数据。现在支持XML标记和XML事件

bundler (1.0.7)
  在一个应用程序的整个生命周期中都可以用它来管理包依赖问题,可以跨多台机器,系统性重复性管理。 

erubis (2.6.6)
  Erubis 是一个快速、安全和具备高可扩展性的eRuby 的实现,主要特征如下:
* Very fast, almost three times faster than ERB and even 10% faster than eruby
* Multi-language support (Ruby/PHP/C/Java/Scheme/Perl/Javascript)
* Auto escaping support
* Auto trimming spaces around '<% %>'
* Embedded pattern changeable (default '<% %>')
* Enable to handle Processing Instructions (PI) as embedded pattern (ex. '<?rb ... ?>')
* Context object available and easy to combine eRuby template with YAML datafile
* Print statement available
* Easy to extend and customize in subclass
* Ruby on Rails support


i18n (0.4.2)
  Ruby的国际化支持

mail (2.2.10)
  Ruby的mail工具,mail的实现都在这里。

mime-types (1.16)
  这个在Rails2中也有,Rails3中把它独立出来单独成包了。它用于以MIME内容类型的方式来识别文件类型,是基于文件扩展名的。

polyglot (0.3.1)
  通过它可以注册任意文件扩展名,并在ruby文件中require引入。treetop组件需要用到。
#== EXAMPLE:

#In file rubyglot.rb, define and register a file type handler:

require 'polyglot'

class RubyglotLoader
  def self.load(filename, options = nil, &block)
	  File.open(filename) {|file|
	    # Load the contents of file as Ruby code:
	    # Implement your parser here instead!
	    Kernel.eval(file.read)
    }
  end
end
Polyglot.register("rgl", RubyglotLoader)

# In file test.rb:
require 'rubyglot'	# Create my file type handler
require 'hello'	# Can add extra options or even a block here
puts "Ready to go"
Hello.new

# In file hello.rgl (this simple example uses Ruby code):
puts "Initializing"
class Hello
  def initialize()
	  puts "Hello, world\n"
  end
end

# Run:
  $ ruby test.rb
  Initializing
  Ready to go
  Hello, world
  $


rack-mount (0.6.13)
  Stackable dynamic tree based Rack router

rack-test (0.5.6)
  Rack::Test是用于测试Rack应用的一个简单的小API。

rails (3.0.3)
  我不说了,你知道的!

railties (3.0.3)
  Rails的核心中的核心:应用程序引导、插件、生成器和计划任务

rake (0.8.7)
  类似于Make,Ruby里的程序执行器,用标准的Ruby语法来指定计划任务和依赖包

thor (0.14.6)
  一个简单高效的工具,用于创建自文档化的命令行,类似于rake,语法也于rake很像

treetop (1.4.9)
  一个Ruby写的解析器,用于解析领域特定语言(Domain Specific Language,DSL),mail组件需要用到

tzinfo (0.3.23)
  用于不同时区的时间转换
6
1
分享到:
评论

相关推荐

    rails2.3.2gem本地安装包及使用说明

    Rails 2.3.2 是一个古老的 Ruby on Rails 框架版本,它在 Ruby 社区中曾经广泛使用。Gem 是 Ruby 的包管理器,用于安装和管理各种库和框架,包括 Rails。如果你无法通过网络升级或安装 Rails,可以采用本地安装包的...

    rails-2.1.0-gem包

    这个gem包是Rails 2.1.0版本的源代码和相关库的集合,允许开发者在他们的项目中引入这个特定版本的Rails。下面将详细讨论Rails 2.1.0中的关键特性、改进和对开发者的重要意义。 首先,Rails 2.1.0 引入了Action...

    rails-2.1.0-gem

    "rails-2.1.0-gem"是Rails框架的一个特定版本,即2.1.0的gem包,用于在Ruby环境中安装和管理Rails框架。 Rails的核心理念是“约定优于配置”(Convention over Configuration),这意味着开发者可以遵循一套预设的...

    awesome-rails-gem-zh_CN, Rails 常用 Gem 列表 - Awesome Rails Gem 中文版.zip

    Awesome Rails Gem 是一个广泛收录了Rails开发中常用、实用、有趣的Gem的列表,旨在帮助开发者提高开发效率和代码质量。这个中文版的Awesome Rails Gem列表,为国内开发者提供了一个方便的参考资源,使他们能够更好...

    rails2.3.8 && ruby1.8.7

    描述中提到,这是一个完整的Rails 2.3.8开发环境包,其中包括了Ruby 1.8.7,Rails 2.3.8,以及9个相关的Gem包。Gem是Ruby的包管理器,用于安装、管理和更新Ruby库。这些Gem包含了Rails框架的核心组件和其他依赖库,...

    rails2.1與Oracle 連結所需gem

    标题“rails2.1与Oracle连接所需gem”指的是在Rails 2.1版本的应用程序中,如何配置和使用Oracle数据库的宝石(gem)扩展。Rails是Ruby on Rails框架的简称,是一个流行的开源Web应用程序框架,而Oracle则是一种企业...

    终于知道怎么把rails Web程序打包成可执行文件了

    这些工具可以将Ruby解释器、Rails框架、gem和其他必要的文件一起打包到一个可执行文件中,使得用户只需双击即可运行应用。 `ruby2exe`是一个用于将Ruby脚本转换为Windows可执行文件的工具。它会把Ruby解释器、gem和...

    rails3教程

    **Rails3**是Ruby on Rails框架的一个重要版本,它对之前的版本进行了大量的改进和优化,使其更加强大和灵活。Rails3的核心设计理念围绕着几个关键的概念,这些概念不仅帮助开发者编写更加简洁高效的代码,还使得...

    ruby 2.1.0 gem 包

    了解并掌握Ruby 2.1.0 Gem包及其与Rails 2.1.0框架的交互,对于任何想要开发或维护基于此版本Rails的应用的开发者来说都是至关重要的。这不仅涉及到编程语言的熟练运用,还要求理解Web开发的最佳实践和Rails的内在...

    rails本地安装包完整版

    3. **actionmailer-2.1.0.gem**:ActionMailer使得在Rails应用中发送和接收电子邮件变得简单。它提供了一个抽象层,可以方便地创建、发送和接收邮件,同时处理SMTP服务器的配置和其他邮件相关的设置。 4. **...

    ruby on rails 开发环境包(ruby1.8.7,rails2.2.3)

    2. **安装Rails**:安装完Ruby后,使用gem包管理器安装Rails 2.2.3。运行`gem install rails -v 2.2.3`命令即可。 3. **创建新项目**:使用Rails命令行工具创建一个新的Rails项目。在终端中输入`rails new project_...

    ruby离线安装所需所有的gem文件(另有安装包)

    为了离线安装Rails,我们需要提前下载这些gem的`.gem`文件,然后在无网络的环境中使用`gem install`命令进行安装。 在执行离线安装时,首先需要运行`rubyinstaller-1.9.3-p194.exe`来安装Ruby环境。接着,你需要...

    fullcalendar-rails, 包含Adam的gem fullcalendar jquery插件的资产.zip

    fullcalendar-rails, 包含Adam的gem fullcalendar jquery插件的资产 Fullcalendar::Rails这个 gem 用于在你的RoR应用程序中添加FullCalendar插件的内容,这样你就不用下载和安装所有的FullCalendar资产。安装要安装 ...

    rails2.3.2

    4. 插件和Gem:Rails 2.3.x 支持 Gem 管理系统,允许开发者通过安装和管理第三方 Gem 来扩展 Rails 功能。插件是 Rails 社区共享代码的一种方式,可以快速添加特定功能。 5. 测试框架:Rails 内置了测试支持,包括 ...

    ruby1.8.7 & rails2.3.8

    1. `sqlite3.dll` 和 `sqlite.dll`:这两个文件是SQLite数据库的动态链接库,SQLite是一个轻量级的、文件式的数据库,常用于Rails开发中的本地开发环境,因为它易于设置和使用,无需单独的服务器进程。 2. `...

    rails 离线安装包

    这个gem包就是`rails-x.x.x.gem`,其中`x.x.x`代表Rails的版本号。 2. **本地安装Gem**:在下载完Rails的gem包后,你可以通过Ruby的gem命令行工具进行本地安装。在命令行中,切换到gem包所在的目录,然后运行`gem ...

    Rails 中mongrel的安装

    在Rails项目中安装Mongrel通常通过RubyGems进行,这是一个Ruby的包管理器。首先确保RubyGems已经安装,然后在命令行执行以下命令: ```bash gem install mongrel ``` 安装完成后,可以通过`mongrel_rails`命令来...

Global site tag (gtag.js) - Google Analytics