Sha256: 8af3152f050c7c8d9a0cce99a05e0ff8f42a1ca02876205fff7a64b6e902e74e

Contents?: true

Size: 849 Bytes

Versions: 8

Compression:

Stored size: 849 Bytes

Contents

module Yoda
  module Model
    module Descriptions
      class FunctionDescription < Base
        # @type Store::Objects::MethodObject
        attr_reader :function

        # @param function [FunctionSignatures::Base]
        def initialize(function)
          fail ArgumentError, function unless function.is_a?(FunctionSignatures::Base)
          @function = function
        end

        def title
          "#{function.namespace_path}#{function.sep}#{function.to_s}"
        end

        def signature
          "#{function.to_s}"
        end

        def sort_text
          function.name.to_s
        end

        def parameter_names
          function.parameters.parameter_names
        end

        def to_markdown
          <<~EOS
          **#{title}**

          #{function.document}
          EOS
        end
      end
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
yoda-language-server-0.7.2 lib/yoda/model/descriptions/function_description.rb
yoda-language-server-0.7.1 lib/yoda/model/descriptions/function_description.rb
yoda-language-server-0.7.0 lib/yoda/model/descriptions/function_description.rb
yoda-language-server-0.6.2 lib/yoda/model/descriptions/function_description.rb
yoda-language-server-0.6.1 lib/yoda/model/descriptions/function_description.rb
yoda-language-server-0.6.0 lib/yoda/model/descriptions/function_description.rb
yoda-language-server-0.5.0 lib/yoda/model/descriptions/function_description.rb
yoda-language-server-0.4.0 lib/yoda/model/descriptions/function_description.rb