Sha256: c98a3465802b3785f6ef6ff16cfc62fcc0d121039f2cc970822ea1c835c0748c
Contents?: true
Size: 1.21 KB
Versions: 2
Compression:
Stored size: 1.21 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::Base objects that form the codebase: # # ::YARD::CodeObject # ↓ # ::Inch::CodeObject::Provider::YARD::Object::Base # ↓ # (Hash) # ↓ # ::Inch::CodeObject::Proxy::Base # # module Provider def self.parse(dir, paths, excluded, type = :YARD) provider_for(type).parse(dir, paths, excluded) end # @return [Module] def self.provider_for(type) eval("::Inch::CodeObject::Provider::#{type}") end end end end require_relative 'provider/yard'
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
inch-0.3.0.rc2 | lib/inch/code_object/provider.rb |
inch-0.3.0.rc1 | lib/inch/code_object/provider.rb |