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
|