Sha256: ef1c1ac09198d0b0239c1e9af7f8eb81d3ddb7536232acd2f1e463dd57d4c619

Contents?: true

Size: 558 Bytes

Versions: 2

Compression:

Stored size: 558 Bytes

Contents

require 'internal/proc'

require 'decompiler/node/as_code'
require 'decompiler/proc/signature'

class Proc
  # Return a string representation of a proc's definition/body,
  # similarly to +Method#as_code+.
  def as_code(indent=0)
    sig = self.signature
    body_expression = self.body ? self.body.as_code(indent+1) : nil
    s = "#{'  '*indent}proc do"
    if not sig.args.unspecified then
      s += " #{sig}"
    end
    s += "\n"
    if body_expression then
      s += "#{body_expression}\n"
    end
    s += "#{'  '*indent}end"
    return s
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
ruby-decompiler-0.0.3 lib/decompiler/proc/as_code.rb
ruby-decompiler-0.0.2 lib/decompiler/proc/as_code.rb