class Lemon::SourceParser::Scope

A Scope is a Module or Class, and may contain other scopes.

Attributes

class_methods[RW]
comment[RW]
instance_methods[RW]
name[RW]
parent[RW]
scopes[RW]

Public Class Methods

new(name, comment='', instance_methods=[], class_methods=[]) click to toggle source
# File lib/lemon/coverage/source_parser.rb, line 184
def initialize(name, comment='', instance_methods=[], class_methods=[])
  @name             = name
  @comment          = comment
  @instance_methods = instance_methods
  @class_methods    = class_methods
  @scopes           = {}
end

Public Instance Methods

[](scope) click to toggle source
# File lib/lemon/coverage/source_parser.rb, line 192
def [](scope)
  @scopes[scope]
end
each(&block) click to toggle source
# File lib/lemon/coverage/source_parser.rb, line 200
def each(&block)
  @scopes.each(&block)
end
inspect() click to toggle source
# File lib/lemon/coverage/source_parser.rb, line 208
def inspect
  scopes   = @scopes.keys.join(', ')
  imethods = @instance_methods.inspect
  cmethods = @class_methods.inspect

  "<#{name} scopes:[#{scopes}] :#{cmethods}: ##{imethods}#>"
end
keys() click to toggle source
# File lib/lemon/coverage/source_parser.rb, line 196
def keys
  @scopes.keys
end
target() click to toggle source
# File lib/lemon/coverage/source_parser.rb, line 217
def target
  if parent
    parent.target.const_get(name)
  else
    Object.const_get(name)
  end
end
to_s() click to toggle source
# File lib/lemon/coverage/source_parser.rb, line 204
def to_s
  inspect
end
to_units() click to toggle source
# File lib/lemon/coverage/source_parser.rb, line 226
def to_units
  units = []
  @instance_methods.each do |imethod|
    units << Snapshot::Unit.new(target, imethod, :singleton=>false)
  end
  @class_methods.each do |imethod|
    units << Snapshot::Unit.new(target, imethod, :singleton=>true)
  end
  @scopes.each do |name, scope|
    units.concat(scope.to_units)
  end
  units
end