Class: Method
- Defined in:
 - opal/opal/corelib/method.rb,
opal/opal/corelib/marshal/write_buffer.rb 
Instance Attribute Summary collapse
- 
  
    
      #name  ⇒ Object 
    
    
  
  
  
  
    
      readonly
    
    
  
  
  
  
  
  
    
Returns the value of attribute name.
 - 
  
    
      #owner  ⇒ Object 
    
    
  
  
  
  
    
      readonly
    
    
  
  
  
  
  
  
    
Returns the value of attribute owner.
 - 
  
    
      #receiver  ⇒ Object 
    
    
  
  
  
  
    
      readonly
    
    
  
  
  
  
  
  
    
Returns the value of attribute receiver.
 
Instance Method Summary collapse
- #<<(other) ⇒ Object
 - #>>(other) ⇒ Object
 - #__marshal__(buffer) ⇒ Object
 - #arity ⇒ Object
 - #call(*args, &block) ⇒ Object (also: #[])
 - #comments ⇒ Object
 - 
  
    
      #initialize(receiver, owner, method, name)  ⇒ Method 
    
    
  
  
  
    constructor
  
  
  
  
  
  
  
    
A new instance of Method.
 - #inspect ⇒ Object
 - #parameters ⇒ Object
 - #source_location ⇒ Object
 - #to_proc ⇒ Object
 - #unbind ⇒ Object
 
Constructor Details
#initialize(receiver, owner, method, name) ⇒ Method
Returns a new instance of Method.
      4 5 6 7 8 9  | 
    
      # File 'opal/opal/corelib/method.rb', line 4 def initialize(receiver, owner, method, name) @receiver = receiver @owner = owner @name = name @method = method end  | 
  
Instance Attribute Details
#name ⇒ Object (readonly)
Returns the value of attribute name.
      2 3 4  | 
    
      # File 'opal/opal/corelib/method.rb', line 2 def name @name end  | 
  
#owner ⇒ Object (readonly)
Returns the value of attribute owner.
      2 3 4  | 
    
      # File 'opal/opal/corelib/method.rb', line 2 def owner @owner end  | 
  
#receiver ⇒ Object (readonly)
Returns the value of attribute receiver.
      2 3 4  | 
    
      # File 'opal/opal/corelib/method.rb', line 2 def receiver @receiver end  | 
  
Instance Method Details
#<<(other) ⇒ Object
      41 42 43  | 
    
      # File 'opal/opal/corelib/method.rb', line 41 def <<(other) @method << other end  | 
  
#>>(other) ⇒ Object
      37 38 39  | 
    
      # File 'opal/opal/corelib/method.rb', line 37 def >>(other) @method >> other end  | 
  
#__marshal__(buffer) ⇒ Object
      101 102 103  | 
    
      # File 'opal/opal/corelib/marshal/write_buffer.rb', line 101 def __marshal__(buffer) raise TypeError, "no _dump_data is defined for class #{self.class}" end  | 
  
#arity ⇒ Object
      11 12 13  | 
    
      # File 'opal/opal/corelib/method.rb', line 11 def arity @method.arity end  | 
  
#call(*args, &block) ⇒ Object Also known as: []
      27 28 29 30 31 32 33  | 
    
      # File 'opal/opal/corelib/method.rb', line 27 def call(*args, &block) %x{ #{@method}.$$p = block; return #{@method}.apply(#{@receiver}, args); } end  | 
  
#comments ⇒ Object
      23 24 25  | 
    
      # File 'opal/opal/corelib/method.rb', line 23 def comments `#{@method}.$$comments` || [] end  | 
  
#inspect ⇒ Object
      60 61 62  | 
    
      # File 'opal/opal/corelib/method.rb', line 60 def inspect "#<#{self.class}: #{@receiver.class}##{@name} (defined in #{@owner} in #{source_location.join(':')})>" end  | 
  
#parameters ⇒ Object
      15 16 17  | 
    
      # File 'opal/opal/corelib/method.rb', line 15 def parameters `#{@method}.$$parameters` end  | 
  
#source_location ⇒ Object
      19 20 21  | 
    
      # File 'opal/opal/corelib/method.rb', line 19 def source_location `#{@method}.$$source_location` || ['(eval)', 0] end  | 
  
#to_proc ⇒ Object
      49 50 51 52 53 54 55 56 57 58  | 
    
      # File 'opal/opal/corelib/method.rb', line 49 def to_proc %x{ var proc = self.$call.bind(self); proc.$$unbound = #{@method}; proc.$$is_lambda = true; proc.$$arity = #{@method}.$$arity; proc.$$parameters = #{@method}.$$parameters; return proc; } end  | 
  
#unbind ⇒ Object
      45 46 47  | 
    
      # File 'opal/opal/corelib/method.rb', line 45 def unbind UnboundMethod.new(@receiver.class, @owner, @method, @name) end  |