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)