class Eiwa::Tag::CrossReference

Attributes

reading[R]
sense_ordinal[R]
text[R]

Public Class Methods

new(text: nil, reading: nil, sense_ordinal: nil) click to toggle source
# File lib/eiwa/tag/cross_reference.rb, line 6
def initialize(text: nil, reading: nil, sense_ordinal: nil)
  @text = text
  @reading = reading
  @sense_ordinal = sense_ordinal
end

Public Instance Methods

==(other)
Alias for: eql?
end_self() click to toggle source
# File lib/eiwa/tag/cross_reference.rb, line 12
def end_self
  parts = @characters.split("・")
  @text = parts.first
  @reading = parts[1..-1].find { |part| /[^0-9]/.match(part) }
  @sense_ordinal = parts.find { |part| /^[0-9]+$/.match(part) }&.to_i
end
eql?(other) click to toggle source
# File lib/eiwa/tag/cross_reference.rb, line 19
def eql?(other)
  @text == other.text &&
    @reading == other.reading &&
    @sense_ordinal == other.sense_ordinal
end
Also aliased as: ==
hash() click to toggle source
# File lib/eiwa/tag/cross_reference.rb, line 26
def hash
  @text.hash + @reading.hash + @sense_ordinal.hash
end