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

Changeset 4411

Show
Ignore:
Timestamp:
06/02/06 17:28:15 (2 years ago)
Author:
sam
Message:

Add OrderedHash#values

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/activesupport/CHANGELOG

    r4390 r4411  
    11*SVN* 
     2 
     3* Add OrderedHash#values. [Sam Stephenson] 
    24 
    35* Added Array#to_s(:db) that'll produce a comma-separated list of ids [DHH]. Example: 
  • trunk/activesupport/lib/active_support/ordered_options.rb

    r4386 r4411  
    1717 
    1818    def keys 
    19       self.collect { |i| i.first } 
     19      collect { |key, value| key } 
     20    end 
     21 
     22    def values 
     23      collect { |key, value| value } 
    2024    end 
    2125 
  • trunk/activesupport/test/ordered_options_test.rb

    r2422 r4411  
    22 
    33require File.dirname(__FILE__) + '/../lib/active_support/ordered_options' 
     4 
     5class OrderedHashTest < Test::Unit::TestCase 
     6  def setup 
     7    @keys =   %w( blue   green  red    pink   orange ) 
     8    @values = %w( 000099 009900 aa0000 cc0066 cc6633 ) 
     9    @ordered_hash = ActiveSupport::OrderedHash.new(@keys.zip(@values)) 
     10  end 
     11   
     12  def test_order 
     13    assert_equal @keys,   @ordered_hash.keys 
     14    assert_equal @values, @ordered_hash.values 
     15  end 
     16   
     17  def test_access 
     18    assert @keys.zip(@values).all? { |k, v| @ordered_hash[k] == v } 
     19  end 
     20   
     21  def test_assignment 
     22    key, value = 'purple', '5422a8' 
     23     
     24    @ordered_hash[key] = value 
     25    assert_equal @keys.length + 1, @ordered_hash.length 
     26    assert_equal key, @ordered_hash.keys.last 
     27    assert_equal value, @ordered_hash.values.last 
     28    assert_equal value, @ordered_hash[key] 
     29  end 
     30end 
    431 
    532class OrderedOptionsTest < Test::Unit::TestCase