Class: Inch::Language::Elixir::Provider::Reader::Object::FunctionObject

Inherits:
Base
  • Object
show all
Defined in:
lib/inch/language/elixir/provider/reader/object/function_object.rb

Overview

Proxy class for functions

Defined Under Namespace

Classes: FunctionSignature

Constant Summary

Constants inherited from Base

Base::HIDDEN_TYPES

Instance Attribute Summary

Attributes inherited from Base

#children_fullnames

Instance Method Summary collapse

Methods inherited from Base

#aliased_object_fullname, #aliases_fullnames, #api_tag?, #attributes, #bang_name?, #constant?, #constructor?, #depth, #docstring, #filename, #files, #getter?, #has_children?, #has_code_example?, #has_doc?, #has_multiple_code_examples?, #has_unconsidered_tags?, #in_root?, #initialize, #namespace?, #nodoc?, #original_docstring, #overridden?, #overridden_method_fullname, #parent_fullname, #private?, #protected?, #public?, #questioning_name?, #return_described?, #return_mentioned?, #return_typed?, #setter?, #source, #tagged_as_internal_api?, #tagged_as_private?, #unconsidered_tag_count, #undocumented?, #visibility

Constructor Details

This class inherits a constructor from Inch::Language::Elixir::Provider::Reader::Object::Base

Instance Method Details

#fullnameObject



15
16
17
# File 'lib/inch/language/elixir/provider/reader/object/function_object.rb', line 15

def fullname
  @hash['module_id'] + '.' + @hash['id']
end

#method?Boolean



19
20
21
# File 'lib/inch/language/elixir/provider/reader/object/function_object.rb', line 19

def method?
  true
end

#nameObject



11
12
13
# File 'lib/inch/language/elixir/provider/reader/object/function_object.rb', line 11

def name
  @hash['id']
end

#parametersObject



23
24
25
26
27
28
# File 'lib/inch/language/elixir/provider/reader/object/function_object.rb', line 23

def parameters
  names = FunctionSignature.new(@hash['signature']).parameter_names
  names.map do |name|
    FunctionParameterObject.new(self, name)
  end
end