Class: ChatCorrect::Correct
- Inherits:
-
Object
- Object
- ChatCorrect::Correct
- Defined in:
- lib/chat_correct/correct.rb
Constant Summary collapse
- TYPES_OF_MISTAKES =
['missing_word', 'unnecessary_word', 'spelling', 'verb', 'punctuation', 'word_order', 'capitalization', 'duplicate_word', 'word_choice', 'pluralization', 'possessive', 'stylistic_choice']
Instance Attribute Summary collapse
-
#corrected_sentence ⇒ Object
readonly
Returns the value of attribute corrected_sentence.
-
#original_sentence ⇒ Object
readonly
Returns the value of attribute original_sentence.
-
#tgr ⇒ Object
readonly
Returns the value of attribute tgr.
Instance Method Summary collapse
- #correct ⇒ Object
-
#initialize(original_sentence:, corrected_sentence:) ⇒ Correct
constructor
A new instance of Correct.
- #mistake_report ⇒ Object
- #mistakes ⇒ Object
- #number_of_mistakes ⇒ Object
Constructor Details
#initialize(original_sentence:, corrected_sentence:) ⇒ Correct
Returns a new instance of Correct.
5 6 7 8 9 10 |
# File 'lib/chat_correct/correct.rb', line 5 def initialize(original_sentence:, corrected_sentence:) @original_sentence = original_sentence @corrected_sentence = corrected_sentence @tgr = EngTagger.new Linguistics.use(:en) end |
Instance Attribute Details
#corrected_sentence ⇒ Object (readonly)
Returns the value of attribute corrected_sentence.
4 5 6 |
# File 'lib/chat_correct/correct.rb', line 4 def corrected_sentence @corrected_sentence end |
#original_sentence ⇒ Object (readonly)
Returns the value of attribute original_sentence.
4 5 6 |
# File 'lib/chat_correct/correct.rb', line 4 def original_sentence @original_sentence end |
#tgr ⇒ Object (readonly)
Returns the value of attribute tgr.
4 5 6 |
# File 'lib/chat_correct/correct.rb', line 4 def tgr @tgr end |
Instance Method Details
#correct ⇒ Object
12 13 14 15 16 |
# File 'lib/chat_correct/correct.rb', line 12 def correct raise "You must include an Original Sentence" if original_sentence.nil? || original_sentence.eql?('') raise "You must include a Corrected Sentence" if corrected_sentence.nil? || corrected_sentence.eql?('') analyze end |
#mistake_report ⇒ Object
29 30 31 32 33 34 35 36 37 38 39 40 41 |
# File 'lib/chat_correct/correct.rb', line 29 def mistake_report raise "You must include an Original Sentence" if original_sentence.nil? || original_sentence.eql?('') raise "You must include a Corrected Sentence" if corrected_sentence.nil? || corrected_sentence.eql?('') mistake_report_hash = {} TYPES_OF_MISTAKES.each do |mistake| counter = 0 mistakes.each do |key, value| counter += 1 if value['error_type'].eql?(mistake) || value['error_type'].split('_')[1].eql?(mistake) end mistake_report_hash[mistake] = counter end mistake_report_hash end |
#mistakes ⇒ Object
18 19 20 21 22 23 24 25 26 27 |
# File 'lib/chat_correct/correct.rb', line 18 def mistakes raise "You must include an Original Sentence" if original_sentence.nil? || original_sentence.eql?('') raise "You must include a Corrected Sentence" if corrected_sentence.nil? || corrected_sentence.eql?('') mistakes_hash = {} analyze.each do |key, value| next if (!value['type'].split('_')[-1].eql?('mistake') && !value['type'].split('_')[0].eql?('missing')) || value['type'].split('_')[0].eql?('no') mistakes_hash = build_mistakes_hash(mistakes_hash, key, value) end mistakes_hash end |
#number_of_mistakes ⇒ Object
43 44 45 46 47 |
# File 'lib/chat_correct/correct.rb', line 43 def number_of_mistakes raise "You must include an Original Sentence" if original_sentence.nil? || original_sentence.eql?('') raise "You must include a Corrected Sentence" if corrected_sentence.nil? || corrected_sentence.eql?('') mistakes.length end |