mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
52 lines
747 B
Ruby
52 lines
747 B
Ruby
|
module ProcSpecs
|
||
|
class ToAryAsNil
|
||
|
def to_ary
|
||
|
nil
|
||
|
end
|
||
|
end
|
||
|
def self.new_proc_in_method
|
||
|
Proc.new
|
||
|
end
|
||
|
|
||
|
def self.new_proc_from_amp(&block)
|
||
|
block
|
||
|
end
|
||
|
|
||
|
def self.proc_for_1
|
||
|
proc { 1 }
|
||
|
end
|
||
|
|
||
|
class ProcSubclass < Proc
|
||
|
end
|
||
|
|
||
|
def self.new_proc_subclass_in_method
|
||
|
ProcSubclass.new
|
||
|
end
|
||
|
|
||
|
class MyProc < Proc
|
||
|
end
|
||
|
|
||
|
class MyProc2 < Proc
|
||
|
def initialize(a, b)
|
||
|
@first = a
|
||
|
@second = b
|
||
|
end
|
||
|
|
||
|
attr_reader :first, :second
|
||
|
end
|
||
|
|
||
|
class Arity
|
||
|
def arity_check(&block)
|
||
|
pn = Proc.new(&block).arity
|
||
|
pr = proc(&block).arity
|
||
|
lm = lambda(&block).arity
|
||
|
|
||
|
if pn == pr and pr == lm
|
||
|
return pn
|
||
|
else
|
||
|
return :arity_check_failed
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
end
|