Skip to content

Commit

Permalink
Merge branch 'master' of github.com:lifo/docrails
Browse files Browse the repository at this point in the history
  • Loading branch information
vijaydev committed Jan 11, 2012
2 parents 3f8f96e + ce41a36 commit 7c29246
Show file tree
Hide file tree
Showing 7 changed files with 27 additions and 20 deletions.
2 changes: 1 addition & 1 deletion actionpack/lib/action_controller/base.rb
Original file line number Diff line number Diff line change
Expand Up @@ -121,7 +121,7 @@ module ActionController
#
# def search
# @results = Search.find(params[:query])
# case @results
# case @results.count
# when 0 then render :action => "no_results"
# when 1 then render :action => "show"
# when 2..10 then render :action => "show_many"
Expand Down
1 change: 1 addition & 0 deletions actionpack/lib/action_controller/test_case.rb
Original file line number Diff line number Diff line change
Expand Up @@ -251,6 +251,7 @@ def exists?
# def test_create
# json = {:book => { :title => "Love Hina" }}.to_json
# post :create, json
# end
#
# == Special instance variables
#
Expand Down
2 changes: 1 addition & 1 deletion activemodel/lib/active_model/validations/confirmation.rb
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ module HelperMethods
# attribute.
#
# NOTE: This check is performed only if +password_confirmation+ is not
# +nil+, and by default only on save. To require confirmation, make sure
# +nil+. To require confirmation, make sure
# to add a presence check for the confirmation attribute:
#
# validates_presence_of :password_confirmation, :if => :password_changed?
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,8 @@ def dangerous_attribute_method?(method_name)
end

# Defines the primary key field -- can be overridden in subclasses. Overwriting will negate any effect of the
# primary_key_prefix_type setting, though.
# primary_key_prefix_type setting, though. Since primary keys are usually protected from mass assignment,
# remember to let your database generate them or include the key in +attr_accessible+.
def primary_key
@primary_key = reset_primary_key unless defined? @primary_key
@primary_key
Expand Down
10 changes: 10 additions & 0 deletions activerecord/lib/active_record/relation/query_methods.rb
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,16 @@ def order(*args)
relation
end

# Replaces any existing order defined on the relation with the specified order.
#
# User.order('email DESC').reorder('id ASC') # generated SQL has 'ORDER BY id ASC'
#
# Subsequent calls to order on the same relation will be appended. For example:
#
# User.order('email DESC').reorder('id ASC').order('name ASC')
#
# generates a query with 'ORDER BY id ASC, name ASC'.
#
def reorder(*args)
return self if args.blank?

Expand Down
25 changes: 10 additions & 15 deletions railties/guides/source/active_support_core_extensions.textile
Original file line number Diff line number Diff line change
Expand Up @@ -376,7 +376,7 @@ NOTE: Defined in +active_support/core_ext/object/instance_variables.rb+.
h5. +instance_values+

The method +instance_values+ returns a hash that maps instance variable names without "@" to their
corresponding values. Keys are strings both in Ruby 1.8 and 1.9:
corresponding values. Keys are strings:

<ruby>
class C
Expand Down Expand Up @@ -704,13 +704,11 @@ module X
end
end

X.local_constants # => ["X2", "X1", "Y"], assumes Ruby 1.8
X::Y.local_constants # => ["X1", "Y1"], assumes Ruby 1.8
X.local_constants # => [:X1, :X2, :Y]
X::Y.local_constants # => [:Y1, :X1]
</ruby>

The names are returned as strings in Ruby 1.8, and as symbols in Ruby 1.9. The method +local_constant_names+ always returns strings.

WARNING: This method returns precise results in Ruby 1.9. In older versions of Ruby, however, it may miss some constants in case the same constant exists in the receiver module as well as in any of its ancestors and both constants point to the same object (objects are compared using +Object#object_id+).
The names are returned as symbols. The method +local_constant_names+ always returns strings.

NOTE: Defined in +active_support/core_ext/module/introspection.rb+.

Expand All @@ -737,8 +735,8 @@ Math.qualified_const_get("E") # => 2.718281828459045
</ruby>

These methods are analogous to their builtin counterparts. In particular,
+qualified_constant_defined?+ accepts an optional second argument in 1.9
to be able to say whether you want the predicate to look in the ancestors.
+qualified_constant_defined?+ accepts an optional second argument to be
able to say whether you want the predicate to look in the ancestors.
This flag is taken into account for each constant in the expression while
walking down the path.

Expand All @@ -759,12 +757,12 @@ end
+qualified_const_defined?+ behaves this way:

<ruby>
N.qualified_const_defined?("C::X", false) # => false (1.9 only)
N.qualified_const_defined?("C::X", true) # => true (1.9 only)
N.qualified_const_defined?("C::X") # => false in 1.8, true in 1.9
N.qualified_const_defined?("C::X", false) # => false
N.qualified_const_defined?("C::X", true) # => true
N.qualified_const_defined?("C::X") # => true
</ruby>

As the last example implies, in 1.9 the second argument defaults to true,
As the last example implies, the second argument defaults to true,
as in +const_defined?+.

For coherence with the builtin methods only relative paths are accepted.
Expand Down Expand Up @@ -2238,9 +2236,6 @@ The last point is particularly worth comparing for some enumerables:
<ruby>
Array.wrap(:foo => :bar) # => [{:foo => :bar}]
Array(:foo => :bar) # => [[:foo, :bar]]

Array.wrap("foo\nbar") # => ["foo\nbar"]
Array("foo\nbar") # => ["foo\n", "bar"], in Ruby 1.8
</ruby>

There's also a related idiom that uses the splat operator:
Expand Down
4 changes: 2 additions & 2 deletions railties/guides/source/contributing_to_ruby_on_rails.textile
Original file line number Diff line number Diff line change
Expand Up @@ -380,9 +380,9 @@ Now you need to get other people to look at your patch, just as you've looked at

h4. Iterate as Necessary

It’s entirely possible that the feedback you get will suggest changes. Don’t get discouraged: the whole point of contributing to an active open source project is to tap into community knowledge. If people are encouraging you to tweak your code, then it’s worth making the tweaks and resubmitting. If the feedback is that your code doesn’t belong in the core, you might still think about releasing it as a plugin.
It’s entirely possible that the feedback you get will suggest changes. Don’t get discouraged: the whole point of contributing to an active open source project is to tap into community knowledge. If people are encouraging you to tweak your code, then it’s worth making the tweaks and resubmitting. If the feedback is that your code doesn’t belong in the core, you might still think about releasing it as a gem.

And then...think about your next contribution!
And then ... think about your next contribution!

h3. Rails Contributors

Expand Down

0 comments on commit 7c29246

Please sign in to comment.