Class: WordCountAnalyzer::Number

Inherits:
Object
  • Object
show all
Defined in:
lib/word_count_analyzer/number.rb

Constant Summary collapse

NUMBER_REGEX =
/(?<=\A)\D?\d+((,|\.)*\d)*(\D?\s|\s|\.?\s|\.$)|(?<=\s)\D?\d+((,|\.)*\d)*(\D?\s|\s|\.?\s|\.$|$)/

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(string:) ⇒ Number

Returns a new instance of Number.



7
8
9
# File 'lib/word_count_analyzer/number.rb', line 7

def initialize(string:)
  @string = string
end

Instance Attribute Details

#stringObject (readonly)

Returns the value of attribute string.



6
7
8
# File 'lib/word_count_analyzer/number.rb', line 6

def string
  @string
end

Instance Method Details

#includes_number?Boolean

Returns:

  • (Boolean)


11
12
13
# File 'lib/word_count_analyzer/number.rb', line 11

def includes_number?
  !(string !~ NUMBER_REGEX)
end

#occurrencesObject



19
20
21
# File 'lib/word_count_analyzer/number.rb', line 19

def occurrences
  replace.scan(/wsnumword/).size
end

#replaceObject



15
16
17
# File 'lib/word_count_analyzer/number.rb', line 15

def replace
  string.gsub(NUMBER_REGEX, ' wsnumword ')
end