word_count_analyzer 1.0.0 → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.gitignore +1 -0
- data/lib/word_count_analyzer/analyzer.rb +6 -6
- data/lib/word_count_analyzer/counter.rb +1 -1
- data/lib/word_count_analyzer/date.rb +1 -1
- data/lib/word_count_analyzer/ellipsis.rb +1 -1
- data/lib/word_count_analyzer/hyperlink.rb +1 -1
- data/lib/word_count_analyzer/number.rb +3 -3
- data/lib/word_count_analyzer/numbered_list.rb +1 -1
- data/lib/word_count_analyzer/version.rb +1 -1
- data/lib/word_count_analyzer/xhtml.rb +1 -1
- data/spec/word_count_analyzer/analyzer_spec.rb +1 -1
- data/spec/word_count_analyzer/date_spec.rb +8 -8
- data/spec/word_count_analyzer/ellipsis_spec.rb +2 -2
- data/spec/word_count_analyzer/hyperlink_spec.rb +3 -3
- data/spec/word_count_analyzer/number_spec.rb +13 -7
- data/spec/word_count_analyzer/numbered_list_spec.rb +11 -11
- data/spec/word_count_analyzer/punctuation_spec.rb +9 -9
- data/spec/word_count_analyzer/slash_spec.rb +5 -5
- data/spec/word_count_analyzer/xhtml_spec.rb +2 -2
- metadata +3 -3
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA1:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 3e712d9e33ebce0a210f1ae805a63d97e9247d12
         | 
| 4 | 
            +
              data.tar.gz: c4ee01b16b5162c959f00470702203b67244b4ab
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 48e15099bf3fbb8ab86203e3fdb92c79a79a1ff156e51320c6c64a4e5629f26ff1f279b6c55a65f7eed6218b9e3fe36daa9a623969f2f15d63c43b2f95ba35d1
         | 
| 7 | 
            +
              data.tar.gz: 5e53e7c056ff7ae533fbf1ec9114cf13febc90bb2926ba6004397043bbc3e142cbf82001a9b35c822ab1e30b23013effaedb56a609759b683e94202a0726868b
         | 
    
        data/.gitignore
    CHANGED
    
    
| @@ -8,20 +8,20 @@ module WordCountAnalyzer | |
| 8 8 |  | 
| 9 9 | 
             
                def analyze
         | 
| 10 10 | 
             
                  analysis = {}
         | 
| 11 | 
            -
                  analysis['ellipsis'] = WordCountAnalyzer::Ellipsis.new. | 
| 11 | 
            +
                  analysis['ellipsis'] = WordCountAnalyzer::Ellipsis.new.occurrences(text)
         | 
| 12 12 | 
             
                  contraction_count = 0
         | 
| 13 13 | 
             
                  hyphenated_word_count = 0
         | 
| 14 14 | 
             
                  WordCountAnalyzer::Xhtml.new(string: text).replace.split(/\s+/).each_with_index do |token, index|
         | 
| 15 15 | 
             
                    contraction_count += 1 if WordCountAnalyzer::Contraction.new(token: token, following_token: text.split(/\s+/)[index + 1], tgr: tagger, hyphen: 'single').contraction?
         | 
| 16 16 | 
             
                    hyphenated_word_count += 1 if WordCountAnalyzer::HyphenatedWord.new(token: token).hyphenated_word?
         | 
| 17 17 | 
             
                  end
         | 
| 18 | 
            -
                  analysis['hyperlink'] = WordCountAnalyzer::Hyperlink.new. | 
| 18 | 
            +
                  analysis['hyperlink'] = WordCountAnalyzer::Hyperlink.new.occurrences(text)
         | 
| 19 19 | 
             
                  analysis['contraction'] = contraction_count
         | 
| 20 20 | 
             
                  analysis['hyphenated_word'] = hyphenated_word_count
         | 
| 21 | 
            -
                  analysis['date'] = WordCountAnalyzer::Date.new. | 
| 22 | 
            -
                  analysis['number'] = WordCountAnalyzer::Number.new(string: text). | 
| 23 | 
            -
                  analysis['numbered_list'] = WordCountAnalyzer::NumberedList.new(string: text). | 
| 24 | 
            -
                  analysis['xhtml'] = WordCountAnalyzer::Xhtml.new(string: text). | 
| 21 | 
            +
                  analysis['date'] = WordCountAnalyzer::Date.new.occurrences(text)
         | 
| 22 | 
            +
                  analysis['number'] = WordCountAnalyzer::Number.new(string: text).occurrences
         | 
| 23 | 
            +
                  analysis['numbered_list'] = WordCountAnalyzer::NumberedList.new(string: text).occurrences
         | 
| 24 | 
            +
                  analysis['xhtml'] = WordCountAnalyzer::Xhtml.new(string: text).occurrences
         | 
| 25 25 | 
             
                  analysis['forward_slash'] = WordCountAnalyzer::Slash.new(string: text).forward_slash_occurences
         | 
| 26 26 | 
             
                  analysis['backslash'] = WordCountAnalyzer::Slash.new(string: text).backslash_occurences
         | 
| 27 27 | 
             
                  analysis['dotted_line'] = WordCountAnalyzer::Punctuation.new(string: text).dotted_line_ocurrances
         | 
| @@ -68,8 +68,8 @@ module WordCountAnalyzer | |
| 68 68 | 
             
                  processed_text = process_hyperlink(processed_text)
         | 
| 69 69 | 
             
                  processed_text = process_contraction(processed_text, @tgr)
         | 
| 70 70 | 
             
                  processed_text = process_date(processed_text)
         | 
| 71 | 
            -
                  processed_text = process_number(processed_text)
         | 
| 72 71 | 
             
                  processed_text = process_number_list(processed_text)
         | 
| 72 | 
            +
                  processed_text = process_number(processed_text)
         | 
| 73 73 | 
             
                  processed_text = process_xhtml(processed_text)
         | 
| 74 74 | 
             
                  processed_text = process_forward_slash(processed_text)
         | 
| 75 75 | 
             
                  processed_text = process_backslash(processed_text)
         | 
| @@ -11,7 +11,7 @@ module WordCountAnalyzer | |
| 11 11 | 
             
                  !(text !~ URI.regexp) && text !~ NON_HYPERLINK_REGEX && !(text !~ HYPERLINK_REGEX)
         | 
| 12 12 | 
             
                end
         | 
| 13 13 |  | 
| 14 | 
            -
                def  | 
| 14 | 
            +
                def occurrences(text)
         | 
| 15 15 | 
             
                  text.scan(URI.regexp).map { |link| link.compact.size > 1 ? 1 : 0 }.inject(0) { |sum, x| sum + x }
         | 
| 16 16 | 
             
                end
         | 
| 17 17 |  | 
| @@ -1,11 +1,11 @@ | |
| 1 1 | 
             
            module WordCountAnalyzer
         | 
| 2 2 | 
             
              class Number
         | 
| 3 3 | 
             
                # Rubular: http://rubular.com/r/OGj82uEu8d
         | 
| 4 | 
            -
                NUMBER_REGEX = /(?<=\A)\D?\d+((,|\.)*\d)*(\D?\s|\s|\.?\s|\.$)|(?<=\s)\D?\d+((,|\.)*\d)*(\D?\s|\s|\.?\s | 
| 4 | 
            +
                NUMBER_REGEX = /(?<=\A)\D?\d+((,|\.)*\d)*(\D?\s|\s|\.?\s|\.$)|(?<=\s)\D?\d+((,|\.)*\d)*(\D?\s|\s|\.?\s|\.$|$)/
         | 
| 5 5 |  | 
| 6 6 | 
             
                attr_reader :string
         | 
| 7 7 | 
             
                def initialize(string:)
         | 
| 8 | 
            -
                  @string =  | 
| 8 | 
            +
                  @string = string
         | 
| 9 9 | 
             
                end
         | 
| 10 10 |  | 
| 11 11 | 
             
                def includes_number?
         | 
| @@ -16,7 +16,7 @@ module WordCountAnalyzer | |
| 16 16 | 
             
                  string.gsub(NUMBER_REGEX, ' wsnumword ')
         | 
| 17 17 | 
             
                end
         | 
| 18 18 |  | 
| 19 | 
            -
                def  | 
| 19 | 
            +
                def occurrences
         | 
| 20 20 | 
             
                  replace.scan(/wsnumword/).size
         | 
| 21 21 | 
             
                end
         | 
| 22 22 | 
             
              end
         | 
| @@ -5,7 +5,7 @@ RSpec.describe WordCountAnalyzer::Analyzer do | |
| 5 5 | 
             
                it 'should analyze the gray areas #001' do
         | 
| 6 6 | 
             
                  text = "This string has a date: Monday, November 3rd, 2011. I was thinking... it also shouldn't have too many contractions, maybe 2. <html> Some HTML and a hyphenated-word</html>. Don't count punctuation ? ? ? Please visit the ____________ ------------ ........ go-to site: https://www.example-site.com today. Let's add a list 1. item a 2. item b 3. item c. Now let's add he/she/it or a c:\\Users\\john. 2/15/2012 is the date! { HYPERLINK 'http://www.hello.com' }"
         | 
| 7 7 | 
             
                  ws = WordCountAnalyzer::Analyzer.new(text: text)
         | 
| 8 | 
            -
                  expect(ws.analyze).to eq({"ellipsis"=>1, "hyperlink"=>2, "contraction"=>4, "hyphenated_word"=>2, "date"=>2, "number"=> | 
| 8 | 
            +
                  expect(ws.analyze).to eq({"ellipsis"=>1, "hyperlink"=>2, "contraction"=>4, "hyphenated_word"=>2, "date"=>2, "number"=>5, "numbered_list"=>3, "xhtml"=>1, "forward_slash"=>1, "backslash"=>1, "dotted_line"=>1, "dashed_line"=>1, "underscore"=>1, "stray_punctuation"=>5})
         | 
| 9 9 | 
             
                end
         | 
| 10 10 |  | 
| 11 11 | 
             
                it 'should analyze the gray areas #002' do
         | 
| @@ -225,28 +225,28 @@ RSpec.describe WordCountAnalyzer::Date do | |
| 225 225 | 
             
                end
         | 
| 226 226 | 
             
              end
         | 
| 227 227 |  | 
| 228 | 
            -
              context '# | 
| 229 | 
            -
                it 'counts the date  | 
| 228 | 
            +
              context '#occurrences' do
         | 
| 229 | 
            +
                it 'counts the date occurrences in a string #001' do
         | 
| 230 230 | 
             
                  string = 'Today is Sunday, 8 November 2014.'
         | 
| 231 231 | 
             
                  ws = WordCountAnalyzer::Date.new
         | 
| 232 | 
            -
                  expect(ws. | 
| 232 | 
            +
                  expect(ws.occurrences(string)).to eq(1)
         | 
| 233 233 | 
             
                end
         | 
| 234 234 |  | 
| 235 | 
            -
                it 'counts the date  | 
| 235 | 
            +
                it 'counts the date occurrences in a string #002' do
         | 
| 236 236 | 
             
                  string = 'Today is Sunday, 8 November 2014. Yesterday was 07/Nov/2014.'
         | 
| 237 237 | 
             
                  ws = WordCountAnalyzer::Date.new
         | 
| 238 | 
            -
                  expect(ws. | 
| 238 | 
            +
                  expect(ws.occurrences(string)).to eq(2)
         | 
| 239 239 | 
             
                end
         | 
| 240 240 | 
             
              end
         | 
| 241 241 |  | 
| 242 242 | 
             
              context '#replace' do
         | 
| 243 | 
            -
                it 'replaces the date  | 
| 243 | 
            +
                it 'replaces the date occurrences in a string #001' do
         | 
| 244 244 | 
             
                  string = 'Today is Tues. March 3rd, 2011.'
         | 
| 245 245 | 
             
                  ws = WordCountAnalyzer::Date.new
         | 
| 246 246 | 
             
                  expect(ws.replace(string)).to eq('Today is  wsdateword ')
         | 
| 247 247 | 
             
                end
         | 
| 248 248 |  | 
| 249 | 
            -
                it 'replaces the date  | 
| 249 | 
            +
                it 'replaces the date occurrences in a string #002' do
         | 
| 250 250 | 
             
                  string = 'The scavenger hunt ends on Dec. 31st, 2011.'
         | 
| 251 251 | 
             
                  ws = WordCountAnalyzer::Date.new
         | 
| 252 252 | 
             
                  expect(ws.replace(string)).to eq('The scavenger hunt ends on  wsdateword ')
         | 
| @@ -254,7 +254,7 @@ RSpec.describe WordCountAnalyzer::Date do | |
| 254 254 | 
             
              end
         | 
| 255 255 |  | 
| 256 256 | 
             
              context '#replace_number_only_date' do
         | 
| 257 | 
            -
                it 'replaces only the number date  | 
| 257 | 
            +
                it 'replaces only the number date occurrences in a string' do
         | 
| 258 258 | 
             
                  string = 'Today is Tues. March 3rd, 2011. 4/28/2013'
         | 
| 259 259 | 
             
                  ws = WordCountAnalyzer::Date.new
         | 
| 260 260 | 
             
                  expect(ws.replace_number_only_date(string)).to eq("Today is Tues. March 3rd, 2011.  wsdateword ")
         | 
| @@ -95,11 +95,11 @@ RSpec.describe WordCountAnalyzer::Ellipsis do | |
| 95 95 | 
             
                end
         | 
| 96 96 | 
             
              end
         | 
| 97 97 |  | 
| 98 | 
            -
              context '# | 
| 98 | 
            +
              context '#occurrences' do
         | 
| 99 99 | 
             
                it 'returns a string with the ellipsis replaced #001' do
         | 
| 100 100 | 
             
                  string = 'Using an ellipsis … causes different counts…depending on the style . . . that you use. I never meant that.... She left the store. The practice was not abandoned. . . .'
         | 
| 101 101 | 
             
                  ws = WordCountAnalyzer::Ellipsis.new
         | 
| 102 | 
            -
                  expect(ws. | 
| 102 | 
            +
                  expect(ws.occurrences(string)).to eq(5)
         | 
| 103 103 | 
             
                end
         | 
| 104 104 | 
             
              end
         | 
| 105 105 | 
             
            end
         | 
| @@ -45,11 +45,11 @@ RSpec.describe WordCountAnalyzer::Hyperlink do | |
| 45 45 | 
             
                end
         | 
| 46 46 | 
             
              end
         | 
| 47 47 |  | 
| 48 | 
            -
              context '# | 
| 49 | 
            -
                it 'returns the  | 
| 48 | 
            +
              context '#occurrences' do
         | 
| 49 | 
            +
                it 'returns the occurrences of hyperlink tokens in a string #001' do
         | 
| 50 50 | 
             
                  string = "Today the date is: Jan 1. Visit https://www.example.com/hello or http://www.google.co.uk"
         | 
| 51 51 | 
             
                  ws = WordCountAnalyzer::Hyperlink.new
         | 
| 52 | 
            -
                  expect(ws. | 
| 52 | 
            +
                  expect(ws.occurrences(string)).to eq(2)
         | 
| 53 53 | 
             
                end
         | 
| 54 54 | 
             
              end
         | 
| 55 55 |  | 
| @@ -26,13 +26,19 @@ RSpec.describe WordCountAnalyzer::Number do | |
| 26 26 | 
             
                  expect(ws.includes_number?).to eq(true)
         | 
| 27 27 | 
             
                end
         | 
| 28 28 |  | 
| 29 | 
            -
                it  | 
| 29 | 
            +
                it 'returns true if the string includes a number #005' do
         | 
| 30 | 
            +
                  string = 'I was born in 1993'
         | 
| 31 | 
            +
                  ws = WordCountAnalyzer::Number.new(string: string)
         | 
| 32 | 
            +
                  expect(ws.includes_number?).to eq(true)
         | 
| 33 | 
            +
                end
         | 
| 34 | 
            +
             | 
| 35 | 
            +
                it "returns false if the string doesn't includes a number #006" do
         | 
| 30 36 | 
             
                  string = 'Hello world.'
         | 
| 31 37 | 
             
                  ws = WordCountAnalyzer::Number.new(string: string)
         | 
| 32 38 | 
             
                  expect(ws.includes_number?).to eq(false)
         | 
| 33 39 | 
             
                end
         | 
| 34 40 |  | 
| 35 | 
            -
                it "returns false if the string doesn't includes a number # | 
| 41 | 
            +
                it "returns false if the string doesn't includes a number #007" do
         | 
| 36 42 | 
             
                  string = 'Today is 2/18/2014.'
         | 
| 37 43 | 
             
                  ws = WordCountAnalyzer::Number.new(string: string)
         | 
| 38 44 | 
             
                  expect(ws.includes_number?).to eq(false)
         | 
| @@ -47,17 +53,17 @@ RSpec.describe WordCountAnalyzer::Number do | |
| 47 53 | 
             
                end
         | 
| 48 54 | 
             
              end
         | 
| 49 55 |  | 
| 50 | 
            -
              context '# | 
| 51 | 
            -
                it 'returns the number of  | 
| 56 | 
            +
              context '#occurrences' do
         | 
| 57 | 
            +
                it 'returns the number of occurrences of a number in the string #001' do
         | 
| 52 58 | 
             
                  string = 'It was only 50 % of the total. 500 total. That costs $300 and is 50% off.'
         | 
| 53 59 | 
             
                  ws = WordCountAnalyzer::Number.new(string: string)
         | 
| 54 | 
            -
                  expect(ws. | 
| 60 | 
            +
                  expect(ws.occurrences).to eq(4)
         | 
| 55 61 | 
             
                end
         | 
| 56 62 |  | 
| 57 | 
            -
                it ' | 
| 63 | 
            +
                it 'does not ignore dates #002' do
         | 
| 58 64 | 
             
                  string = 'It was only 50 % of the total on Wednesday, June 4 2015. 500 total. That costs $300 and is 50% off only on Apr 5th 1999.'
         | 
| 59 65 | 
             
                  ws = WordCountAnalyzer::Number.new(string: string)
         | 
| 60 | 
            -
                  expect(ws. | 
| 66 | 
            +
                  expect(ws.occurrences).to eq(7)
         | 
| 61 67 | 
             
                end
         | 
| 62 68 | 
             
              end
         | 
| 63 69 | 
             
            end
         | 
| @@ -35,35 +35,35 @@ RSpec.describe WordCountAnalyzer::NumberedList do | |
| 35 35 | 
             
                end
         | 
| 36 36 | 
             
              end
         | 
| 37 37 |  | 
| 38 | 
            -
              context '# | 
| 39 | 
            -
                it 'counts the  | 
| 38 | 
            +
              context '#occurrences' do
         | 
| 39 | 
            +
                it 'counts the occurrences of numbered lists #001' do
         | 
| 40 40 | 
             
                  string = "1. List item a\n\n2. List item b\n\n3. List item c."
         | 
| 41 41 | 
             
                  ws = WordCountAnalyzer::NumberedList.new(string: string)
         | 
| 42 | 
            -
                  expect(ws. | 
| 42 | 
            +
                  expect(ws.occurrences).to eq(3)
         | 
| 43 43 | 
             
                end
         | 
| 44 44 |  | 
| 45 | 
            -
                it 'counts the  | 
| 45 | 
            +
                it 'counts the occurrences of numbered lists #002' do
         | 
| 46 46 | 
             
                  string = "I have 2."
         | 
| 47 47 | 
             
                  ws = WordCountAnalyzer::NumberedList.new(string: string)
         | 
| 48 | 
            -
                  expect(ws. | 
| 48 | 
            +
                  expect(ws.occurrences).to eq(0)
         | 
| 49 49 | 
             
                end
         | 
| 50 50 |  | 
| 51 | 
            -
                it 'counts the  | 
| 51 | 
            +
                it 'counts the occurrences of numbered lists #003' do
         | 
| 52 52 | 
             
                  string = "1. List item a\n\n2. List item b\n\n3. List item c. Then more text. Ok start a new list. 1. item a 2. item b."
         | 
| 53 53 | 
             
                  ws = WordCountAnalyzer::NumberedList.new(string: string)
         | 
| 54 | 
            -
                  expect(ws. | 
| 54 | 
            +
                  expect(ws.occurrences).to eq(5)
         | 
| 55 55 | 
             
                end
         | 
| 56 56 |  | 
| 57 | 
            -
                it 'counts the  | 
| 57 | 
            +
                it 'counts the occurrences of numbered lists #004' do
         | 
| 58 58 | 
             
                  string = "1. List item a\n\n2. List item b\n\n3. List item c. Then more text. Ok start a new non-list. I have 2."
         | 
| 59 59 | 
             
                  ws = WordCountAnalyzer::NumberedList.new(string: string)
         | 
| 60 | 
            -
                  expect(ws. | 
| 60 | 
            +
                  expect(ws.occurrences).to eq(3)
         | 
| 61 61 | 
             
                end
         | 
| 62 62 |  | 
| 63 | 
            -
                it 'counts the  | 
| 63 | 
            +
                it 'counts the occurrences of numbered lists #005' do
         | 
| 64 64 | 
             
                  string = "It also shouldn't have too many contractions, maybe 2. Let's add a list 1. item a 2. item b 3. item c."
         | 
| 65 65 | 
             
                  ws = WordCountAnalyzer::NumberedList.new(string: string)
         | 
| 66 | 
            -
                  expect(ws. | 
| 66 | 
            +
                  expect(ws.occurrences).to eq(3)
         | 
| 67 67 | 
             
                end
         | 
| 68 68 | 
             
              end
         | 
| 69 69 | 
             
            end
         | 
| @@ -2,13 +2,13 @@ require 'spec_helper' | |
| 2 2 |  | 
| 3 3 | 
             
            RSpec.describe WordCountAnalyzer::Punctuation do
         | 
| 4 4 | 
             
              context '#dotted_line_ocurrances' do
         | 
| 5 | 
            -
                it 'returns the number of dotted line  | 
| 5 | 
            +
                it 'returns the number of dotted line occurrences #001' do
         | 
| 6 6 | 
             
                  string = "Here is one …………………………………………………………………… and another ......"
         | 
| 7 7 | 
             
                  ws = WordCountAnalyzer::Punctuation.new(string: string)
         | 
| 8 8 | 
             
                  expect(ws.dotted_line_ocurrances).to eq(2)
         | 
| 9 9 | 
             
                end
         | 
| 10 10 |  | 
| 11 | 
            -
                it 'returns the number of dotted line  | 
| 11 | 
            +
                it 'returns the number of dotted line occurrences #002' do
         | 
| 12 12 | 
             
                  string = "Hello world"
         | 
| 13 13 | 
             
                  ws = WordCountAnalyzer::Punctuation.new(string: string)
         | 
| 14 14 | 
             
                  expect(ws.dotted_line_ocurrances).to eq(0)
         | 
| @@ -16,13 +16,13 @@ RSpec.describe WordCountAnalyzer::Punctuation do | |
| 16 16 | 
             
              end
         | 
| 17 17 |  | 
| 18 18 | 
             
              context '#dashed_line_ocurrances' do
         | 
| 19 | 
            -
                it 'returns the number of dotted line  | 
| 19 | 
            +
                it 'returns the number of dotted line occurrences #001' do
         | 
| 20 20 | 
             
                  string = "Here is one ----- and another -----"
         | 
| 21 21 | 
             
                  ws = WordCountAnalyzer::Punctuation.new(string: string)
         | 
| 22 22 | 
             
                  expect(ws.dashed_line_ocurrances).to eq(2)
         | 
| 23 23 | 
             
                end
         | 
| 24 24 |  | 
| 25 | 
            -
                it 'returns the number of dotted line  | 
| 25 | 
            +
                it 'returns the number of dotted line occurrences #002' do
         | 
| 26 26 | 
             
                  string = "Hello world"
         | 
| 27 27 | 
             
                  ws = WordCountAnalyzer::Punctuation.new(string: string)
         | 
| 28 28 | 
             
                  expect(ws.dashed_line_ocurrances).to eq(0)
         | 
| @@ -30,13 +30,13 @@ RSpec.describe WordCountAnalyzer::Punctuation do | |
| 30 30 | 
             
              end
         | 
| 31 31 |  | 
| 32 32 | 
             
              context '#underscore_ocurrances' do
         | 
| 33 | 
            -
                it 'returns the number of undescore  | 
| 33 | 
            +
                it 'returns the number of undescore occurrences #001' do
         | 
| 34 34 | 
             
                  string = "Here is one ______ and another ______"
         | 
| 35 35 | 
             
                  ws = WordCountAnalyzer::Punctuation.new(string: string)
         | 
| 36 36 | 
             
                  expect(ws.underscore_ocurrances).to eq(2)
         | 
| 37 37 | 
             
                end
         | 
| 38 38 |  | 
| 39 | 
            -
                it 'returns the number of undescore  | 
| 39 | 
            +
                it 'returns the number of undescore occurrences #002' do
         | 
| 40 40 | 
             
                  string = "Hello world"
         | 
| 41 41 | 
             
                  ws = WordCountAnalyzer::Punctuation.new(string: string)
         | 
| 42 42 | 
             
                  expect(ws.underscore_ocurrances).to eq(0)
         | 
| @@ -44,19 +44,19 @@ RSpec.describe WordCountAnalyzer::Punctuation do | |
| 44 44 | 
             
              end
         | 
| 45 45 |  | 
| 46 46 | 
             
              context '#stray_punctuation_occurences' do
         | 
| 47 | 
            -
                it 'returns the number of stray punctuation  | 
| 47 | 
            +
                it 'returns the number of stray punctuation occurrences #001' do
         | 
| 48 48 | 
             
                  string = "Hello world ? This is another - sentence ."
         | 
| 49 49 | 
             
                  ws = WordCountAnalyzer::Punctuation.new(string: string)
         | 
| 50 50 | 
             
                  expect(ws.stray_punctuation_occurences).to eq(3)
         | 
| 51 51 | 
             
                end
         | 
| 52 52 |  | 
| 53 | 
            -
                it 'returns the number of stray punctuation  | 
| 53 | 
            +
                it 'returns the number of stray punctuation occurrences #002' do
         | 
| 54 54 | 
             
                  string = "Hello world. Great?"
         | 
| 55 55 | 
             
                  ws = WordCountAnalyzer::Punctuation.new(string: string)
         | 
| 56 56 | 
             
                  expect(ws.stray_punctuation_occurences).to eq(0)
         | 
| 57 57 | 
             
                end
         | 
| 58 58 |  | 
| 59 | 
            -
                it 'returns the number of stray punctuation  | 
| 59 | 
            +
                it 'returns the number of stray punctuation occurrences #003' do
         | 
| 60 60 | 
             
                  string = "."
         | 
| 61 61 | 
             
                  ws = WordCountAnalyzer::Punctuation.new(string: string)
         | 
| 62 62 | 
             
                  expect(ws.stray_punctuation_occurences).to eq(1)
         | 
| @@ -42,13 +42,13 @@ RSpec.describe WordCountAnalyzer::Slash do | |
| 42 42 | 
             
              end
         | 
| 43 43 |  | 
| 44 44 | 
             
              context '#forward_slash_occurences' do
         | 
| 45 | 
            -
                it 'returns the number of  | 
| 45 | 
            +
                it 'returns the number of occurrences of tokens with a forward slash #001' do
         | 
| 46 46 | 
             
                  string = "Using the solidus for he/she/it is often discouraged, except in this case she/he said."
         | 
| 47 47 | 
             
                  ws = WordCountAnalyzer::Slash.new(string: string)
         | 
| 48 48 | 
             
                  expect(ws.forward_slash_occurences).to eq(2)
         | 
| 49 49 | 
             
                end
         | 
| 50 50 |  | 
| 51 | 
            -
                it 'returns the number of  | 
| 51 | 
            +
                it 'returns the number of occurrences of tokens with a forward slash #002' do
         | 
| 52 52 | 
             
                  string = "Hello world."
         | 
| 53 53 | 
             
                  ws = WordCountAnalyzer::Slash.new(string: string)
         | 
| 54 54 | 
             
                  expect(ws.forward_slash_occurences).to eq(0)
         | 
| @@ -56,19 +56,19 @@ RSpec.describe WordCountAnalyzer::Slash do | |
| 56 56 | 
             
              end
         | 
| 57 57 |  | 
| 58 58 | 
             
              context '#backslash_occurences' do
         | 
| 59 | 
            -
                it 'returns the number of  | 
| 59 | 
            +
                it 'returns the number of occurrences of tokens with a backslash #001' do
         | 
| 60 60 | 
             
                  string = 'The file location is c:\Users\johndoe or d:\Users\john\www'
         | 
| 61 61 | 
             
                  ws = WordCountAnalyzer::Slash.new(string: string)
         | 
| 62 62 | 
             
                  expect(ws.backslash_occurences).to eq(2)
         | 
| 63 63 | 
             
                end
         | 
| 64 64 |  | 
| 65 | 
            -
                it 'returns the number of  | 
| 65 | 
            +
                it 'returns the number of occurrences of tokens with a backslash #002' do
         | 
| 66 66 | 
             
                  string = "Hello world."
         | 
| 67 67 | 
             
                  ws = WordCountAnalyzer::Slash.new(string: string)
         | 
| 68 68 | 
             
                  expect(ws.backslash_occurences).to eq(0)
         | 
| 69 69 | 
             
                end
         | 
| 70 70 |  | 
| 71 | 
            -
                it 'returns the number of  | 
| 71 | 
            +
                it 'returns the number of occurrences of tokens with a backslash #003' do
         | 
| 72 72 | 
             
                  string = "<span>Hello world.</span>"
         | 
| 73 73 | 
             
                  ws = WordCountAnalyzer::Slash.new(string: string)
         | 
| 74 74 | 
             
                  expect(ws.backslash_occurences).to eq(0)
         | 
| @@ -55,11 +55,11 @@ RSpec.describe WordCountAnalyzer::Xhtml do | |
| 55 55 | 
             
                end
         | 
| 56 56 | 
             
              end
         | 
| 57 57 |  | 
| 58 | 
            -
              context '# | 
| 58 | 
            +
              context '#occurrences' do
         | 
| 59 59 | 
             
                it 'counts the number of tags (1 opening set and 1 closing set of tags counts as 1)' do
         | 
| 60 60 | 
             
                  string = '<span class=”cool-text”>Hello world</span> Hello there. Another sentence <tuv>Sentence</tuv> here. Hello world.'
         | 
| 61 61 | 
             
                  ws = WordCountAnalyzer::Xhtml.new(string: string)
         | 
| 62 | 
            -
                  expect(ws. | 
| 62 | 
            +
                  expect(ws.occurrences).to eq(2)
         | 
| 63 63 | 
             
                end
         | 
| 64 64 | 
             
              end
         | 
| 65 65 | 
             
            end
         | 
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: word_count_analyzer
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 1.0. | 
| 4 | 
            +
              version: 1.0.1
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Kevin S. Dias
         | 
| 8 8 | 
             
            autorequire: 
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date:  | 
| 11 | 
            +
            date: 2017-12-20 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: bundler
         | 
| @@ -147,7 +147,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement | |
| 147 147 | 
             
                  version: '0'
         | 
| 148 148 | 
             
            requirements: []
         | 
| 149 149 | 
             
            rubyforge_project: 
         | 
| 150 | 
            -
            rubygems_version: 2. | 
| 150 | 
            +
            rubygems_version: 2.6.14
         | 
| 151 151 | 
             
            signing_key: 
         | 
| 152 152 | 
             
            specification_version: 4
         | 
| 153 153 | 
             
            summary: A word count analyzer - see what word count gray areas might be affecting
         |