Sha256: d4406cff36c9ce76e09601f66bec75e82383b87b8b2b7ab2f9424bc296620cd8

Contents?: true

Size: 636 Bytes

Versions: 5

Compression:

Stored size: 636 Bytes

Contents

require 'reek/code_context'

module Reek
  class ModuleContext < CodeContext

    def ModuleContext.create(outer, exp)
      res = Name.resolve(exp[1], outer)
      ModuleContext.new(res[0], res[1])
    end

    def initialize(outer, name)
      super(outer, nil)
      @name = name
    end

    def myself
      @myself ||= @outer.find_module(@name)
    end

    def find_module(modname)
      return nil unless myself
      sym = modname.to_s
      @myself.const_defined?(sym) ? @myself.const_get(sym) : nil
    end

    def outer_name
      "#{@outer.outer_name}#{@name}::"
    end

    def variable_names
      []
    end
  end
end

Version data entries

5 entries across 5 versions & 2 rubygems

Version Path
kevinrutherford-reek-1.1.1 lib/reek/module_context.rb
kevinrutherford-reek-1.1.2.1 lib/reek/module_context.rb
kevinrutherford-reek-1.1.2 lib/reek/module_context.rb
kevinrutherford-reek-1.1.3 lib/reek/module_context.rb
reek-1.1.3 lib/reek/module_context.rb