Sha256: 250b9215b4059dddd12e4f2d455cef114fbd1e88bfae52aa6a9a391c11b2a7d3

Contents?: true

Size: 1.28 KB

Versions: 34

Compression:

Stored size: 1.28 KB

Contents

module Inch
  module CodeObject
    # Provider modules "provide" a Codebase object with code objects.
    # They are the intermediary between the raw representation that tools
    # like YARD deliver and the "interface" that Inch expects.
    #
    # YARD Example:
    #
    # YARD's SourceParser returns ::YARD::CodeObject objects, which are
    # cast to Provider::YARD::Object::Base objects that can ensure naming
    # conventions et al. follow certain rules. These objects are then again
    # converted into CodeObject::Proxy objects that form the codebase:
    #
    #                        ::YARD::CodeObject
    #                               |
    #           ::Inch::CodeObject::Provider::YARD::Object::Base
    #                               |
    #                             (Hash)
    #                               |
    #                   ::Inch::CodeObject::Proxy
    #
    #
    module Provider
      # Parses a codebase to provide objects
      #
      # @param dir [String] the directory to parse
      # @param config [Inch::Config::Codebase]
      # @return [#objects]
      def self.parse(dir, config = Inch::Config.codebase)
        Config.namespace(config.language, :Provider)
          .const_get(config.object_provider)
          .parse(dir, config)
      end
    end
  end
end

Version data entries

34 entries across 34 versions & 1 rubygems

Version Path
inch-0.5.7 lib/inch/code_object/provider.rb
inch-0.5.6 lib/inch/code_object/provider.rb
inch-0.5.5 lib/inch/code_object/provider.rb
inch-0.5.4 lib/inch/code_object/provider.rb
inch-0.5.3 lib/inch/code_object/provider.rb
inch-0.5.2 lib/inch/code_object/provider.rb
inch-0.5.1 lib/inch/code_object/provider.rb
inch-0.5.0 lib/inch/code_object/provider.rb
inch-0.5.0.rc11 lib/inch/code_object/provider.rb
inch-0.5.0.rc10 lib/inch/code_object/provider.rb
inch-0.5.0.rc9 lib/inch/code_object/provider.rb
inch-0.5.0.rc8 lib/inch/code_object/provider.rb
inch-0.5.0.rc7 lib/inch/code_object/provider.rb
inch-0.5.0.rc6 lib/inch/code_object/provider.rb