Skip to content

Commit

Permalink
Reduced the number of literal aliases to the range that has actually …
Browse files Browse the repository at this point in the history
…seen personal use. With the massive savings in overhead, I was able to fit Array#forty_two
  • Loading branch information
dhh committed Nov 21, 2008
1 parent 1d4554d commit e50530c
Show file tree
Hide file tree
Showing 3 changed files with 6 additions and 30 deletions.
2 changes: 1 addition & 1 deletion activesupport/CHANGELOG
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@

* Added TimeZone #=~, to support matching zones by regex in time_zone_select. #195 [Ernie Miller]

* Added Array#second through Array#tenth as aliases for Array#[1] through Array#[9] [DHH]
* Added Array#second through Array#fifth as aliases for Array#[1] through Array#[4] + Array#forty_two as alias for Array[41] [DHH]

* Added test/do declaration style testing to ActiveSupport::TestCase [DHH via Jay Fields]

Expand Down
26 changes: 3 additions & 23 deletions activesupport/lib/active_support/core_ext/array/access.rb
Original file line number Diff line number Diff line change
Expand Up @@ -43,29 +43,9 @@ def fifth
self[4]
end

# Equal to <tt>self[5]</tt>.
def sixth
self[5]
end

# Equal to <tt>self[6]</tt>.
def seventh
self[6]
end

# Equal to <tt>self[7]</tt>.
def eighth
self[7]
end

# Equal to <tt>self[8]</tt>.
def ninth
self[8]
end

# Equal to <tt>self[9]</tt>.
def tenth
self[9]
# Equal to <tt>self[41]</tt>. Also known as accessing "the reddit".
def forty_two
self[41]
end
end
end
Expand Down
8 changes: 2 additions & 6 deletions activesupport/test/core_ext/array_ext_test.rb
Original file line number Diff line number Diff line change
Expand Up @@ -15,17 +15,13 @@ def test_to
end

def test_second_through_tenth
array = (1..10).to_a
array = (1..42).to_a

assert_equal array[1], array.second
assert_equal array[2], array.third
assert_equal array[3], array.fourth
assert_equal array[4], array.fifth
assert_equal array[5], array.sixth
assert_equal array[6], array.seventh
assert_equal array[7], array.eighth
assert_equal array[8], array.ninth
assert_equal array[9], array.tenth
assert_equal array[41], array.fourty_two
end
end

Expand Down

15 comments on commit e50530c

@kerryb
Copy link
Contributor

@kerryb kerryb commented on e50530c Nov 21, 2008

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Did you forget to run the test after correcting fourty_two to forty_second? ;-)

@matthewrudy
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

great,
I’ve been waiting for this for ages.

@tilsammans
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am sure I am not getting this.

@radar
Copy link
Contributor

@radar radar commented on e50530c Nov 21, 2008

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should be Array#forty_second

@adkron
Copy link
Contributor

@adkron adkron commented on e50530c Nov 21, 2008

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok, ok. This is funny. Thanks for reducing the overhead from your previous version.

@henrik
Copy link
Contributor

@henrik henrik commented on e50530c Nov 21, 2008

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

tilsammans: http://en.wikipedia.org/wiki/Notable_phrases_from_The_Hitchhiker%27s_Guide_to_the_Galaxy#Answer_to_Life.2C_the_Universe_and_Everything_.2842.29

@jasonroelofs
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Awesome, though now we’re missing Array#six and Array#nine.

@blaix
Copy link

@blaix blaix commented on e50530c Nov 21, 2008

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great, now I’ll have to alias_method_chain this to forty_second…

@nel
Copy link

@nel nel commented on e50530c Nov 21, 2008

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Don’t need Array#thirty_seven too ?

@charlieok
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Um, shouldn’t test_second_through_tenth be renamed to test_second_through_fifth?

@pandemix
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does your test succeed? The method is misspelled, using a ‘u’ where no ‘u’ should be.

Cute, tho’. Nice tip o’ the hat to the late Mr. Adams. Just started re-reading those books. What about 23, 37, and all those other important numbers? ;)

BTW, who uses ‘fourth’ or even ‘third’? (‘fifth’ is right out)

  1. first makes a lot of sense, #last is useful…

@zenhob
Copy link

@zenhob zenhob commented on e50530c Jul 23, 2009

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@radar is right, this should be Array#forty_second.

@deeTEEcee
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

dafuq?

@atulord
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

#banter

@KarimElsayad247
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I love this.

Please sign in to comment.