class RBS::Annotate::Annotations::Copy
Attributes
annotation[R]
source[R]
Public Class Methods
new(annotation:, source:)
click to toggle source
# File rbs-3.6.1/lib/rbs/annotate/annotations.rb, line 54 def initialize(annotation:, source:) @annotation = annotation @source = source end
Public Instance Methods
==(other)
click to toggle source
# File rbs-3.6.1/lib/rbs/annotate/annotations.rb, line 84 def ==(other) other.is_a?(Copy) && other.annotation == annotation && other.source == source end
Also aliased as: eql?
hash()
click to toggle source
# File rbs-3.6.1/lib/rbs/annotate/annotations.rb, line 80 def hash self.class.hash ^ annotation.hash ^ source.hash end
method_name()
click to toggle source
# File rbs-3.6.1/lib/rbs/annotate/annotations.rb, line 64 def method_name _, m = partition if m m[1] end end
partition()
click to toggle source
# File rbs-3.6.1/lib/rbs/annotate/annotations.rb, line 92 def partition case when match = source.match(/(?<constant_name>[^#]+)#(?<method_name>.+)/) [ TypeName(match[:constant_name] || raise), [ false, (match[:method_name] or raise).to_sym ] ] when match = source.match(/(?<constant_name>[^#]+)\.(?<method_name>.+)/) [ TypeName(match[:constant_name] || raise), [ true, (match[:method_name] or raise).to_sym ] ] else [ TypeName(source), nil ] end end
singleton?()
click to toggle source
# File rbs-3.6.1/lib/rbs/annotate/annotations.rb, line 71 def singleton? _, m = partition if m m[0] else false end end
type_name()
click to toggle source
# File rbs-3.6.1/lib/rbs/annotate/annotations.rb, line 59 def type_name name, _ = partition name end