Class: RBS::Annotate::Annotations::Source

Inherits:
Object
  • Object
show all
Defined in:
lib/rbs/annotate/annotations.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(annotation:, include: nil, skip: nil) ⇒ Source

Returns a new instance of Source.



31
32
33
34
35
# File 'lib/rbs/annotate/annotations.rb', line 31

def initialize(annotation:, include: nil, skip: nil)
  @annotation = annotation
  @include_source = include
  @skip_source = skip
end

Instance Attribute Details

#annotationObject (readonly)

Returns the value of attribute annotation.



28
29
30
# File 'lib/rbs/annotate/annotations.rb', line 28

def annotation
  @annotation
end

#include_sourceObject (readonly)

Returns the value of attribute include_source.



29
30
31
# File 'lib/rbs/annotate/annotations.rb', line 29

def include_source
  @include_source
end

#skip_sourceObject (readonly)

Returns the value of attribute skip_source.



29
30
31
# File 'lib/rbs/annotate/annotations.rb', line 29

def skip_source
  @skip_source
end

Instance Method Details

#==(other) ⇒ Object Also known as: eql?



41
42
43
44
45
46
# File 'lib/rbs/annotate/annotations.rb', line 41

def ==(other)
  other.is_a?(Source) &&
    other.annotation == annotation &&
    other.include_source == include_source &&
    other.skip_source == skip_source
end

#hashObject



37
38
39
# File 'lib/rbs/annotate/annotations.rb', line 37

def hash
  self.class.hash ^ annotation.hash ^ include_source.hash ^ skip_source.hash
end