Sha256: 15300365bf1a04fb1e5eac2fc67849a0662ce8c518065ebaf56fb3c95fa622c3

Contents?: true

Size: 666 Bytes

Versions: 2

Compression:

Stored size: 666 Bytes

Contents

module Inch
  # The Evaluation module concerns itself with the evaluation of code objects
  # with regard to their inline code documentation
  module Evaluation
    module Proxy
      def self.for(code_object)
        class_for(code_object).new(code_object)
      end

      private

      def self.class_for(code_object)
        class_name = code_object.class.to_s.split('::').last
        eval(class_name)
      end
    end
  end
end

require_relative 'proxy/base'
require_relative 'proxy/namespace_object'
require_relative 'proxy/class_object'
require_relative 'proxy/constant_object'
require_relative 'proxy/method_object'
require_relative 'proxy/module_object'

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
inch-0.3.0.rc2 lib/inch/evaluation/proxy.rb
inch-0.3.0.rc1 lib/inch/evaluation/proxy.rb