Rails 2.3.8 just released. Fixing some issues with previously (and fast) released 2.3.6 and 2.3.7 versions. Update your gems :)
$ gem update rails $ gem update --system
refs: http://weblog.rubyonrails.org/2010/5/25/ruby-on-rails-2-3-8-released
Rails 2.3.8 just released. Fixing some issues with previously (and fast) released 2.3.6 and 2.3.7 versions. Update your gems :)
$ gem update rails $ gem update --system
refs: http://weblog.rubyonrails.org/2010/5/25/ruby-on-rails-2-3-8-released
# parse caller to fetch filename, method & line of call def parse_caller(at) if /^(.+?):(\d+)(?::in `(.*)')?/ =~ at file = Regexp.last_match[1] line = Regexp.last_match[2].to_i method = Regexp.last_match[3] [file, line, method] end end
file, line, method = parse_caller(caller(1).first)
in helper
def show_date(date) return '' if date.nil? || date==0 l(Time.at(date), :format => :ddate) end
in config/locale/en.yml (for example)
date: formats: ddate: %d.%m.%Y
module I18n::Backend class Simple protected def pluralize(locale, entry, count) return entry unless entry.is_a?(Hash) and count key = :zero if count == 0 && entry.has_key?(:zero) key ||= count == 1 ? :one : (2..4).include?(count) ? :few : :other raise InvalidPluralizationData.new(entry, count) unless entry.has_key?(key) entry[key] end end # class end # module
place this in your application.rb (eg)
class String def translit Unicode.normalize_KD(self).unpack('U*').select{ |cp| cp < 127 }.pack('U*').gsub(/ /,'-').downcase end end
New version of rails comes with a great feature called named_scope.
# in your model.rb
class Model < ActiveRecord::Base has_many ... belongs_to ... named_scope :active, :conditions => {:state => 'active'} named_scope :today, :conditions => ['date_created between ? and ?', Time.today.to_i, Time.today.to_i+3600*24-1] named_scope :by_date_asc, :order => 'date_created asc' named_scope :by_date_desc, :order => 'date_created desc' named_scope :user_name, lambda {|name| {:conditions => {:username => name}}
and you can use its as:
# somewhere in your code
@data = Model.today @data = Model.today.active.by_date_asc @data = Model.user_name('some user').active.today.by_date_desc