class Yoda::Store::Objects::MethodObject
Attributes
overloads[R]
@return [Array<Overload>]
parameters[R]
@return [Array<(String, String)>]
visibility[R]
@return [Symbol]
Public Class Methods
attr_names()
click to toggle source
@return [Array<Symbol>]
Calls superclass method
Yoda::Store::Objects::Base::attr_names
# File lib/yoda/store/objects/method_object.rb, line 34 def attr_names super + %i(parameters visibility overloads) end
name_of_path(path)
click to toggle source
@param path [String] @return [String]
# File lib/yoda/store/objects/method_object.rb, line 23 def name_of_path(path) path.slice((path.rindex(/[#.]/) || -1) + 1, path.length) end
namespace_of_path(path)
click to toggle source
@param path [String] @return [String]
# File lib/yoda/store/objects/method_object.rb, line 17 def namespace_of_path(path) path.slice(0, (path.rindex(/[#.]/) || 0)) end
new(parameters: [], visibility: :public, overloads: [], **kwargs)
click to toggle source
@param path [String] @param document [Document, nil] @param tag_list [TagList, nil] @param visibility [Symbol] @param overloads [Array<Overload>] @param parameters [Array<(String, String)>, nil]
Calls superclass method
Yoda::Store::Objects::Base::new
# File lib/yoda/store/objects/method_object.rb, line 45 def initialize(parameters: [], visibility: :public, overloads: [], **kwargs) super(kwargs) fail ArgumentError, visibility unless %i(public private protected) @visibility = visibility.to_sym @parameters = parameters @overloads = overloads end
sep_of_path(path)
click to toggle source
@param path [String] @return [String]
# File lib/yoda/store/objects/method_object.rb, line 29 def sep_of_path(path) path.slice(path.rindex(/[#.]/)) end
Public Instance Methods
kind()
click to toggle source
# File lib/yoda/store/objects/method_object.rb, line 68 def kind :method end
name()
click to toggle source
@return [String]
# File lib/yoda/store/objects/method_object.rb, line 54 def name @name ||= MethodObject.name_of_path(path) end
namespace_path()
click to toggle source
@return [String]
# File lib/yoda/store/objects/method_object.rb, line 64 def namespace_path @namespace_path ||= MethodObject.namespace_of_path(path) end
sep()
click to toggle source
@return [String]
# File lib/yoda/store/objects/method_object.rb, line 59 def sep @sep ||= MethodObject.sep_of_path(path) end
to_h()
click to toggle source
Calls superclass method
Yoda::Store::Objects::Base#to_h
# File lib/yoda/store/objects/method_object.rb, line 72 def to_h super.merge( parameters: parameters.to_a, visibility: visibility, overloads: overloads, ) end
Private Instance Methods
merge_attributes(another)
click to toggle source
@param another [self] @return [Hash]
Calls superclass method
Yoda::Store::Objects::Base#merge_attributes
# File lib/yoda/store/objects/method_object.rb, line 84 def merge_attributes(another) super.merge( visibility: another.visibility, parameters: another.parameters.to_a, overloads: overloads + another.overloads, ) end