Bug #10167 ยป prime-include.diff
| lib/prime.rb | ||
|---|---|---|
|
warn "Prime::new is obsolete. use Prime::instance or class methods of Prime."
|
||
|
end
|
||
|
def include?(n) # :nodoc:
|
||
|
prime?(n) # avoid infinite loop
|
||
|
end
|
||
|
class << self
|
||
|
extend Forwardable
|
||
|
include Enumerable
|
||
|
def include?(n) # :nodoc:
|
||
|
if n.is_a?(Module)
|
||
|
# Class#include?
|
||
|
included_modules.include?(n)
|
||
|
else
|
||
|
# Enumerable#include?
|
||
|
prime?(n) # avoid infinite loop
|
||
|
end
|
||
|
end
|
||
|
# Returns the default instance of Prime.
|
||
|
def instance; @the_instance end
|
||
| test/test_prime.rb | ||
|---|---|---|
|
assert_not_include Prime.each(7*37).to_a, 7*37, "[ruby-dev:39465]"
|
||
|
end
|
||
|
def test_include?
|
||
|
assert Prime.include?(2)
|
||
|
assert !Prime.include?(4)
|
||
|
assert Prime.instance.include?(2)
|
||
|
assert !Prime.instance.include?(4)
|
||
|
# Class#include?
|
||
|
assert Prime.include?(Enumerable)
|
||
|
assert !Prime.include?(String)
|
||
|
end
|
||
|
end
|
||