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的中文版资料》是一份针对Ruby on Rails 2.1版本的详细介绍文档,由Carlos Brando和Marcos Tapajós共同编写,并由中国Rails社区成员翻译成中文版。该文档详细介绍了Rails 2.1版本中引入的新特性和改进之...
同时,`active_support/benchmarkable`模块帮助开发者在代码中添加基准测试,以评估性能。 以上就是Rails 4.0.0的主要知识点,这些改进和特性使得Rails更加高效、安全且易于维护,成为了开发者构建现代web应用的...
3. Active Support:提供了一系列实用的类和方法,增强了核心Ruby库。 4. Asset Pipeline:管理应用的静态资源,如JavaScript、CSS和图片,支持压缩和合并以提高加载速度。 5. Rails发电机:自动化代码生成,帮助...
《敏捷Web开发与Rails》第四版是一本深入介绍如何利用Ruby on Rails框架进行高效、灵活的Web应用开发的专业书籍。该书由多位业界资深人士共同编写完成,包括Sam Ruby、Dave Thomas、David Heinemeier Hansson等知名...
但是有时某些开发人员在与非仅与rails相关的gem中使用rails依赖。 这就是为什么此仓库的主要思想是收集所有可以使用的库,而不是通过ActiveSupport使用 ActiveSupport的一些问题 ActiveSupport是“从Rails框架提取的...
- 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 ...
3. **activesupport (3.2.3)**:Active Support是Rails的核心工具箱之一,提供了一系列辅助类和模块,用于字符串操作、缓存机制、时间处理等。 4. **builder (3.0.0)**:提供了生成XML文档的能力,这对于构建动态...
第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 ...
Rails API文档是Ruby on Rails框架的核心参考资料之一,它详尽地介绍了Rails框架的各种组件、方法、类库和接口。这份文档基于《Agile Web Development with Rails》这本书中的讲解,为开发者提供了一份完整的HTML...
Active Support version 3.2.12 Middleware ActionDispatch::Static Rack::Lock # Rack::Runtime Rack::MethodOverride ActionDispatch::RequestId Rails::Rack::Logger ActionDispatch::ShowExceptions ...
Active Support是实用程序类和标准库扩展的集合,这些实用程序和标准库扩展对Rails框架很有用。 这些添加项驻留在此软件包中,因此可以根据需要在Rails之外的Ruby项目中加载它们。 您可以在指南中阅读有关扩展的更...
外部字段 当那些属性实际上属于一个关联的对象时,会产生一种幻想,即一个对象具有特定的属性。 这对于单表继承表中的不同类可以访问特定于...require "active_support" require "external_fields" class Student <
是Ruby on Rails的Active Support Inflection类到Javascript的功能的移植。 inflection是inflection-js移植到node.js npm软件包的端口。 代替的像字符串对象inflection-js确实, inflection的方法分离,以一个独立...
一旦我添加了require 'exception_notifier/email_notifier'来配置它应用程序停止启动,因为这个文件需要 ActionMailer,而 ActionMailer 又require 'active_support/rails' 。 这让 ActiveRecord 开始认为有一个 ...
颜色分类leetcode T∞lbox T∞lbox 是用于创意编码网络项目的工具、API 和其他资源的集合。...Active Support Inflection 类的功能移植到 Javascript 中。 一个用于文本生成器的小模块,可让您过滤字符串中的坏词。
您仍然可以使用此库,但是如果有的话,它将遵循Active Support的实现。) 我们经常发现自己想提取一个中等大小的行为,但只混入一个类中。 提取一个普通的旧Ruby对象以封装它并进行协作或委托给原始对象通常是一个...
- `lib/`: 存放主要的源代码,可能有`active_support/notifications`目录,包含移植的`ActiveSupport::Notifications`模块。 - `Gemfile`和`Gemfile.lock`: 项目依赖管理文件,描述了所依赖的Ruby库及其版本。 - `...
Tagen,Ruby 的核心和额外扩展 主页: 作者: 谷腾爷执照: 麻省理工学院执照文档: 问题跟踪器: Ruby版本: Ruby 1.9.3,Ruby它基于“active_support”,但专注于通用 ruby 编程。用法挑选定义 require "tagen...
1. **Gemfile**: Ruby项目通常使用Gemfile来管理依赖项,如数据库连接库(如 `pg` for PostgreSQL 或 `mysql2` for MySQL)、OAuth库(如 `twitter` 或 `oauth2`)以及时间处理库(如 `active_support/time`)。...