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

Rails详细介绍(四)Active Support

阅读更多

Active Support是一组有Rails提供的库,Active Support对ruby内建的一些类作了扩展,这次我们来看看其中一些最常用到的功能。
 1.       对数字类型的扩展

Fixnum类增加了两个方法:even?和odd?。

同时增加了缩放的方法:

puts 20.bytes #=> 20

puts 20.kilobytes #=> 20480

puts 20.megabytes #=> 20971520

puts 20.gigabytes #=> 21474836480

puts 20.terabytes #=> 21990232555520

 

 

 

还有基于时间的缩放,将接受的数值转换为对应的秒,month()和year()方法得到的是近似值,月被假定为有30天,年被假定为365天。

puts 20.minutes #=> 1200

puts 20.hours #=> 72000

puts 20.days #=> 1728000

puts 20.weeks #=> 12096000

puts 20.fortnights #=> 24192000

puts 20.months #=> 51840000

puts 20.years #=> 630720000

 

 

 

2.       时间的扩展

Time类增加了一些方法,来帮助我们进行时间的运算

now = Time.now

puts now 

puts now.ago(3600) 

puts now.at_beginning_of_day 

puts now.at_beginning_of_month 

puts now.at_beginning_of_week 

puts now.at_beginning_of_year 

puts now.at_midnight 

puts now.change(:hour => 13) 

puts now.last_month 

puts now.last_year 

puts now.midnight 

puts now.monday 

puts now.months_ago(2)

puts now.months_since(2) 

puts now.next_week 

puts now.next_year 

puts now.seconds_since_midnight 

puts now.since(7200) 

puts now.tomorrow 

puts now.years_ago(2) 

puts now.years_since(2) 

puts now.yesterday

  

 

 

 

另外还提供了Timezone的类,其中包含有时区的名字和偏移量。还提供了时区的列表。详细请参考Rdoc文档。

3.       string扩展

Rails扩展了string,使得能够进行单数复数间的转换,小写或大小写混排等等,下面是常用的:

puts "cat".pluralize #=> cats

puts "cats".pluralize #=> cats

puts "erratum".pluralize #=> errata

puts "cats".singularize #=> cat

puts "errata".singularize #=> erratum

 

 

 

分享到:
评论

相关推荐

    RAILS2.1的中文版资料

    《RAILS2.1的中文版资料》是一份针对Ruby on Rails 2.1版本的详细介绍文档,由Carlos Brando和Marcos Tapajós共同编写,并由中国Rails社区成员翻译成中文版。该文档详细介绍了Rails 2.1版本中引入的新特性和改进之...

    rails4.0.0

    同时,`active_support/benchmarkable`模块帮助开发者在代码中添加基准测试,以评估性能。 以上就是Rails 4.0.0的主要知识点,这些改进和特性使得Rails更加高效、安全且易于维护,成为了开发者构建现代web应用的...

    ruby on rails最新版

    3. Active Support:提供了一系列实用的类和方法,增强了核心Ruby库。 4. Asset Pipeline:管理应用的静态资源,如JavaScript、CSS和图片,支持压缩和合并以提高加载速度。 5. Rails发电机:自动化代码生成,帮助...

    Agile Web Development with Rails (4th edition).pdf

    《敏捷Web开发与Rails》第四版是一本深入介绍如何利用Ruby on Rails框架进行高效、灵活的Web应用开发的专业书籍。该书由多位业界资深人士共同编写完成,包括Sam Ruby、Dave Thomas、David Heinemeier Hansson等知名...

    stop_active_support_anywhere:在与Rails不相关的项目中停止使用Active Support

    但是有时某些开发人员在与非仅与rails相关的gem中使用rails依赖。 这就是为什么此仓库的主要思想是收集所有可以使用的库,而不是通过ActiveSupport使用 ActiveSupport的一些问题 ActiveSupport是“从Rails框架提取的...

    Agile Web Development with Rails Final

    - Rails is designed to support agile methodologies, allowing teams to iterate quickly, deliver value early, and adapt to changing requirements. Its flexible structure enables developers to implement ...

    Ruby On rails依赖的目录树

    3. **activesupport (3.2.3)**:Active Support是Rails的核心工具箱之一,提供了一系列辅助类和模块,用于字符串操作、缓存机制、时间处理等。 4. **builder (3.0.0)**:提供了生成XML文档的能力,这对于构建动态...

    Web开发敏捷之道-应用Rails进行敏捷Web开发-第三版.rar

    第16章 Active Support 203 16.1 通用扩展 203 16.2 枚举和数组 204 16.3 Hash 205 16.4 字符串扩展 206 16.5 数值的扩展 208 16.6 时间和日期的扩展 208 16.7 Ruby符号的扩展 210 16.8 with_options 211 16.9 ...

    rail api文档

    Rails API文档是Ruby on Rails框架的核心参考资料之一,它详尽地介绍了Rails框架的各种组件、方法、类库和接口。这份文档基于《Agile Web Development with Rails》这本书中的讲解,为开发者提供了一份完整的HTML...

    ROR绿色最新环境(2013/3/10)

    Active Support version 3.2.12 Middleware ActionDispatch::Static Rack::Lock # Rack::Runtime Rack::MethodOverride ActionDispatch::RequestId Rails::Rack::Logger ActionDispatch::ShowExceptions ...

    activesupport:分叉的定制导轨修复,请不要使用

    Active Support是实用程序类和标准库扩展的集合,这些实用程序和标准库扩展对Rails框架很有用。 这些添加项驻留在此软件包中,因此可以根据需要在Rails之外的Ruby项目中加载它们。 您可以在指南中阅读有关扩展的更...

    rails_external_fields:创建一种幻觉,即某个对象具有特定的属性,而这些属性实际上属于某个关联的对象

    外部字段 当那些属性实际上属于一个关联的对象时,会产生一种幻想,即一个对象具有特定的属性。 这对于单表继承表中的不同类可以访问特定于...require "active_support" require "external_fields" class Student <

    node.inflection:inflection-js到node.js模块的端口

    是Ruby on Rails的Active Support Inflection类到Javascript的功能的移植。 inflection是inflection-js移植到node.js npm软件包的端口。 代替的像字符串对象inflection-js确实, inflection的方法分离,以一个独立...

    simple_email_exception_notifier:异常通知的电子邮件通知程序,不依赖于 ActionMailer,可以与任何 Rack 应用程序一起使用,即与 Grape 一起使用

    一旦我添加了require 'exception_notifier/email_notifier'来配置它应用程序停止启动,因为这个文件需要 ActionMailer,而 ActionMailer 又require 'active_support/rails' 。 这让 ActiveRecord 开始认为有一个 ...

    颜色分类leetcode-toolbox:用于创意编码Web项目的工具、API和其他资源的集合

    颜色分类leetcode T∞lbox T∞lbox 是用于创意编码网络项目的工具、API 和其他资源的集合。...Active Support Inflection 类的功能移植到 Javascript 中。 一个用于文本生成器的小模块,可让您过滤字符串中的坏词。

    关注:关注点分离

    您仍然可以使用此库,但是如果有的话,它将遵循Active Support的实现。) 我们经常发现自己想提取一个中等大小的行为,但只混入一个类中。 提取一个普通的旧Ruby对象以封装它并进行协作或委托给原始对象通常是一个...

    activesupport_notifications_backport

    - `lib/`: 存放主要的源代码,可能有`active_support/notifications`目录,包含移植的`ActiveSupport::Notifications`模块。 - `Gemfile`和`Gemfile.lock`: 项目依赖管理文件,描述了所依赖的Ruby库及其版本。 - `...

    tagen:Ruby 的核心和额外扩展。 #activesupport

    Tagen,Ruby 的核心和额外扩展 主页: 作者: 谷腾爷执照: 麻省理工学院执照文档: 问题跟踪器: Ruby版本: Ruby 1.9.3,Ruby它基于“active_support”,但专注于通用 ruby​​ 编程。用法挑选定义 require "tagen...

    scheduled_tweets

    1. **Gemfile**: Ruby项目通常使用Gemfile来管理依赖项,如数据库连接库(如 `pg` for PostgreSQL 或 `mysql2` for MySQL)、OAuth库(如 `twitter` 或 `oauth2`)以及时间处理库(如 `active_support/time`)。...

Global site tag (gtag.js) - Google Analytics