Sha256: 752b14bbee5f5aa8aa0c436cb574069a97e4b2b4c3e435c680eb7ca1b4c910c9
Contents?: true
Size: 1.21 KB
Versions: 4
Compression:
Stored size: 1.21 KB
Contents
require 'forwardable' module Yoda module Model module FunctionSignatures # Wrap {FunctionSignature::Base} and allow it access to environment. # TODO: Merge this with connected store class Wrapper extend Forwardable # @return [Environment] attr_reader :environment # @return [FunctionSignature::Base] attr_reader :signature delegate [:name, :visibility, :sep, :namespace_path, :document, :tags, :sources, :parameters, :primary_source] => :signature # @param environment [Environment] # @param signature [FunctionSignature::Base] def initialize(environment:, signature:) @environment = environment @signature = signature end # @param env [Environment] # @return [RBS::MethodType] def rbs_type signature.rbs_type(environment) end def to_s(include_namespace: false) if include_namespace "#{namespace_path}#{sep}#{name}#{rbs_type.to_s}" else "#{name}#{rbs_type.to_s}" end end def wrapper(env) Wrapper.new(environment: env, signature: signature) end end end end end
Version data entries
4 entries across 4 versions & 1 rubygems