class Docks::Tags::Signature
Constants
- SYMBOL_TYPES_WITH_SIGNATURES
Public Class Methods
new()
click to toggle source
# File lib/docks/tags/signature_tag.rb, line 4 def initialize @name = :signature end
Public Instance Methods
process(symbol)
click to toggle source
# File lib/docks/tags/signature_tag.rb, line 8 def process(symbol) symbol.update(@name) { |signature| signature.join("\n") } end
setup_post_processors()
click to toggle source
# File lib/docks/tags/signature_tag.rb, line 12 def setup_post_processors after_each_pattern(:late) do |pattern| pattern.symbols.each { |symbol| add_signature(symbol) } end end
Private Instance Methods
add_signature(symbol)
click to toggle source
# File lib/docks/tags/signature_tag.rb, line 22 def add_signature(symbol) return unless source = symbol.source language = Languages.language_for(source.file) return unless language if !symbol.signature && SYMBOL_TYPES_WITH_SIGNATURES.include?(symbol.symbol_type) symbol.signature = language.signature_for(symbol) end symbol.methods.each { |method| add_signature(method) } end