[フレーム]

Module: Forwardable

Defined in:
opal/stdlib/forwardable.rb

Instance Method Summary collapse

Instance Method Details

#def_instance_delegator(accessor, method, ali = method) ⇒ Object Also known as: def_delegator

20
21
22
23
24
25
26
27
28
29
30
# File 'opal/stdlib/forwardable.rb', line 20
def def_instance_delegator(accessor, method, ali = method)
 if accessor.to_s.start_with? ?@
 define_method ali do |*args, &block|
 instance_variable_get(accessor).__send__(method, *args, &block)
 end
 else
 define_method ali do |*args, &block|
 __send__(accessor).__send__(method, *args, &block)
 end
 end
end

#def_instance_delegators(accessor, *methods) ⇒ Object Also known as: def_delegators

12
13
14
15
16
17
18
# File 'opal/stdlib/forwardable.rb', line 12
def def_instance_delegators(accessor, *methods)
 methods.each {|method|
 next if %w[__send____id__].include?(method)
 def_instance_delegator(accessor, method)
 }
end

#instance_delegate(hash) ⇒ Object Also known as: delegate

2
3
4
5
6
7
8
9
10
# File 'opal/stdlib/forwardable.rb', line 2
def instance_delegate(hash)
 hash.each {|methods, accessor|
 methods = [methods] unless methods.respond_to? :each
 methods.each {|method|
 def_instance_delegator(accessor, method)
 }
 }
end

AltStyle によって変換されたページ (->オリジナル) /