Ruby on Rails | Screencasts | Download | Documentation | Weblog | Community | Source

Ticket #10621 (closed defect: fixed)

Opened 5 months ago

Last modified 5 months ago

[PATCH][DOCS][TINY] Fix incorrect documentation for assert_valid_keys

Reported by: blackanger Assigned to: core
Priority: low Milestone: 2.x
Component: ActiveSupport Version: edge
Severity: minor Keywords: docs
Cc:

Description

Hi,Rails development team:

Thanks for your Rails development Framework.

I am a junior Rails programmer came from china! I found a annotation bug when i read Active Support source code. As following:

ActiveSupport::CoreExtensions::Hash::Keys

===============Quote==============================

# Validate all keys in a hash match *valid keys, raising ArgumentError on a mismatch.

# Note that keys are NOT treated indifferently, meaning if you use strings for keys but assert symbol # as keys, this will fail. # examples: # { :name => "Rob", :years => "28" }.assert_valid_keys(:name, :age) # => raises "ArgumentError: Unknown key(s): years" # { :name => "Rob", :age => "28" }.assert_valid_keys("name", "age") # => raises "ArgumentError: Unknown key(s): years, name"

#should be age,name

# { :name => "Rob", :age => "28" }.assert_valid_keys(:name, :age) # => passes, raises nothing def assert_valid_keys(*valid_keys)

unknown_keys = keys - [valid_keys].flatten raise(ArgumentError, "Unknown key(s): #{unknown_keys.join(", ")}") unless unknown_keys.empty?

end

Attachments

assert_valid_keys_docfix.diff (1.3 kB) - added by chuyeow on 12/27/07 06:16:22.

Change History

12/27/07 06:16:22 changed by chuyeow

  • attachment assert_valid_keys_docfix.diff added.

12/27/07 06:18:31 changed by chuyeow

  • keywords set to docs.
  • priority changed from high to low.
  • severity changed from major to minor.
  • summary changed from Rails2.0.2 annotation bug. to [PATCH][DOCS][TINY] Fix incorrect documentation for assert_valid_keys.

Thanks for the report! Yes, that's incorrect documentation:

{ :name => "Rob", :age => "28" }.assert_valid_keys("name", "age") # => raises "ArgumentError: Unknown key(s): years, name"

I've uploaded a docfix for your bug.

12/27/07 06:22:55 changed by chuyeow

  • owner changed from DHH to core.

12/27/07 06:26:38 changed by blackanger

thank you! you guys is very efficient!

12/31/07 09:22:54 changed by kamal

+1

01/02/08 09:01:24 changed by bitsweat

  • status changed from new to closed.
  • resolution set to fixed.

(In [8521]) Correct Hash#assert_valid_keys docs. Closes #10621 [Cheah Chu Yeow, blackanger]