class ChatCorrect::Contraction
Constants
- IRREGULAR_CONTRACTION
- NOT_CONTRACTION
Attributes
contraction[R]
token_a[R]
token_b[R]
Public Class Methods
new(token_a:, token_b:, contraction:)
click to toggle source
# File lib/chat_correct/contraction.rb, line 19 def initialize(token_a:, token_b:, contraction:) return false if token_a.nil? || contraction.nil? @token_a = token_a.downcase token_b ? @token_b = token_b.downcase : @token_b = token_b @contraction = contraction.downcase.gsub(/ƪ/, "'") end
Public Instance Methods
contraction?()
click to toggle source
# File lib/chat_correct/contraction.rb, line 26 def contraction? !token_a.nil? && !contraction.nil? && (is_a_not_contraction? || is_an_irregular_contraction? || is_an_us_contraction? || is_an_am_contraction? || is_an_are_contraction? || is_an_is_does_has_contraction? || is_a_have_contraction? || is_a_had_did_would_contraction? || is_a_will_contraction? || is_an_of_contraction? || is_an_it_contraction? || is_a_them_contraction?) end
Private Instance Methods
is_a_had_did_would_contraction?()
click to toggle source
# File lib/chat_correct/contraction.rb, line 79 def is_a_had_did_would_contraction? (token_b.eql?('had') || token_b.eql?('did') || token_b.eql?('would')) && contraction.partition("'d")[0].eql?(token_a) && contraction.partition("'d")[2].empty? end
is_a_have_contraction?()
click to toggle source
# File lib/chat_correct/contraction.rb, line 74 def is_a_have_contraction? token_b.eql?('have') && contraction.partition("'ve")[0].eql?(token_a) && contraction.partition("'ve")[2].empty? end
is_a_not_contraction?()
click to toggle source
# File lib/chat_correct/contraction.rb, line 44 def is_a_not_contraction? token_b.eql?('not') && (NOT_CONTRACTION[token_a].eql?(contraction) || (contraction.partition("n't")[0].eql?(token_a)) && contraction.partition("n't")[2].empty?) end
is_a_them_contraction?()
click to toggle source
# File lib/chat_correct/contraction.rb, line 99 def is_a_them_contraction? token_b.eql?('them') && contraction.partition(" 'em")[0].eql?(token_a) end
is_a_will_contraction?()
click to toggle source
# File lib/chat_correct/contraction.rb, line 85 def is_a_will_contraction? token_b.eql?('will') && contraction.partition("'ll")[0].eql?(token_a) && contraction.partition("'ll")[2].empty? end
is_an_am_contraction?()
click to toggle source
# File lib/chat_correct/contraction.rb, line 59 def is_an_am_contraction? token_b.eql?("am") && contraction.partition("'m")[0].eql?(token_a) && token_a.eql?('i') && contraction.partition("'m")[2].empty? end
is_an_are_contraction?()
click to toggle source
# File lib/chat_correct/contraction.rb, line 64 def is_an_are_contraction? token_b.eql?('are') && contraction.partition("'re")[0].eql?(token_a) && contraction.partition("'re")[2].empty? end
is_an_irregular_contraction?()
click to toggle source
# File lib/chat_correct/contraction.rb, line 50 def is_an_irregular_contraction? IRREGULAR_CONTRACTION[[token_a, token_b]].eql?(contraction) end
is_an_is_does_has_contraction?()
click to toggle source
# File lib/chat_correct/contraction.rb, line 69 def is_an_is_does_has_contraction? (token_b.eql?('is') || token_b.eql?('does') || token_b.eql?('has')) && contraction.partition("'s")[0].eql?(token_a) && contraction.partition("'s")[2].empty? end
is_an_it_contraction?()
click to toggle source
# File lib/chat_correct/contraction.rb, line 95 def is_an_it_contraction? token_a.eql?('it') && contraction.partition("'t")[-1].eql?(token_b) end
is_an_of_contraction?()
click to toggle source
# File lib/chat_correct/contraction.rb, line 90 def is_an_of_contraction? token_a.eql?('of') && (contraction.eql?("o'") || contraction.partition("o' ")[-1].eql?(token_b)) end
is_an_us_contraction?()
click to toggle source
# File lib/chat_correct/contraction.rb, line 54 def is_an_us_contraction? token_b.eql?('us') && contraction.partition("'s")[0].eql?(token_a) && token_a.eql?('let') && contraction.partition("'s")[2].empty? end