Permalink
Browse files

Fixed :each VS "each" conflict in method list inclusion.

  • Loading branch information...
1 parent 6001bec commit 271dff23530ef0b2c007865c6286c5b97e9020a6 @jimweirich jimweirich committed Dec 4, 2011
Showing with 22 additions and 1 deletion.
  1. +22 −1 src/about_iteration.rb
@@ -2,8 +2,29 @@
class AboutIteration < EdgeCase::Koan
+ # -- An Aside ------------------------------------------------------
+ # Ruby 1.8 stores names as strings. Ruby 1.9 stores names as
+ # symbols. So we use a version dependent method "as_name" to convert
+ # to the right format in the koans. We will use "as_name" whenever
+ # comparing to lists of methods.
+
+ in_ruby_version("1.8") do
+ def as_name(name)
+ name.to_s
+ end
+ end
+
+ in_ruby_version("1.9") do
+ def as_name(name)
+ name.to_sym
+ end
+ end
+
+ # Ok, now back to the Koans.
+ # -------------------------------------------------------------------
+
def test_each_is_a_method_on_arrays
- [].methods.include?("each")
+ assert_equal __(true), [].methods.include?(as_name(:each))
end
def test_iterating_with_each

0 comments on commit 271dff2

Please sign in to comment.