class ChatCorrect::Possessive

Attributes

token_a[R]
token_b[R]

Public Class Methods

new(token_a:, token_b:) click to toggle source
# File lib/chat_correct/possessive.rb, line 4
def initialize(token_a:, token_b:)
  @token_a = token_a
  @token_b = token_b
end

Public Instance Methods

possessive?() click to toggle source
# File lib/chat_correct/possessive.rb, line 9
def possessive?
  check_for_possessive(token_a, token_b, "ƪ") ||
  check_for_possessive(token_b, token_a, "ƪ") ||
  check_for_possessive(token_a, token_b, "∮") ||
  check_for_possessive(token_b, token_a, "∮")
end

Private Instance Methods

check_for_possessive(word_1, word_2, mark) click to toggle source
# File lib/chat_correct/possessive.rb, line 18
def check_for_possessive(word_1, word_2, mark)
  word_1.include?(mark) &&
    word_1.partition(mark)[0].downcase.eql?(word_2.downcase) ||
    (word_1.partition(mark)[0].downcase.eql?(word_1.downcase[0...-1]) &&
    (word_1.partition(mark)[2].eql?('s') || word_1.partition(mark)[2].length < 3))
end