Same as above, except in Object.
load | -> | load_without_new_constant_marking |
send | -> | send! |
Anticipating Ruby 1.9 neutering send | ||
method_added | -> | blank_slate_method_added |
A duck-type assistant method. For example, Active Support extends Date to define an acts_like_date? method, and extends Time to define acts_like_time?. As a result, we can do "x.acts_like?(:time)" and "x.acts_like?(:date)" to do duck-type-safe comparisons, since classes that we want to act like Time simply need to define an acts_like_time? method.
An object is blank if it‘s false, empty, or a whitespace string. For example, "", " ", nil, [], and {} are blank.
This simplifies
if !address.nil? && !address.empty?
to
if !address.blank?
Evaluate the block with the given arguments within the context of this object, so self is set to the method receiver.
From Mauricio‘s eigenclass.org/hiki/bounded+space+instance_exec
A Ruby-ized realization of the K combinator, courtesy of Mikael Brockman.
def foo returning values = [] do values << 'bar' values << 'baz' end end foo # => ['bar', 'baz'] def foo returning [] do |values| values << 'bar' values << 'baz' end end foo # => ['bar', 'baz']
Dumps object in JSON (JavaScript Object Notation). See www.json.org for more info.
Converts an object into a string suitable for use as a URL query string, using the given key as the param name.
Note: This method is defined as a default implementation for all Objects for Hash#to_query to work.
Mark the given constant as unloadable. Unloadable constants are removed each time dependencies are cleared.
Note that marking a constant for unloading need only be done once. Setup or init scripts may list each unloadable constant that may need unloading; each constant will be removed for every subsequent clear, as opposed to for the first clear.
The provided constant descriptor may be a (non-anonymous) module or class, or a qualified constant name as a string or symbol.
Returns true if the constant was not previously marked for unloading, false otherwise.
An elegant way to refactor out common options
with_options :order => 'created_at', :class_name => 'Comment' do |post| post.has_many :comments, :conditions => ['approved = ?', true], :dependent => :delete_all post.has_many :unapproved_comments, :conditions => ['approved = ?', false] post.has_many :all_comments end
Can also be used with an explicit receiver:
map.with_options :controller => "people" do |people| people.connect "/people", :action => "index" people.connect "/people/:id", :action => "show" end