Class: String
- Inherits:
-
Object
- Object
- String
- Defined in:
- lib/prose.rb
Overview
Ruby string class
Instance Method Summary collapse
- #char_belongs_to_language?(char, language_ranges) ⇒ Boolean
- #char_in_range?(ordinal, range) ⇒ Boolean
- #find_origins_in(word) ⇒ Object
- #languages_of(letter) ⇒ Object
- #percentage_of(language) ⇒ Object
- #prose ⇒ Object
Instance Method Details
#char_belongs_to_language?(char, language_ranges) ⇒ Boolean
32 33 34 35 36 |
# File 'lib/prose.rb', line 32 def char_belongs_to_language?(char, language_ranges) return true if char == ' ' language_ranges.map { |range| char_in_range?(char.ord, range) }.include? true end |
#char_in_range?(ordinal, range) ⇒ Boolean
26 27 28 29 30 |
# File 'lib/prose.rb', line 26 def char_in_range?(ordinal, range) min_range, max_range = range.split('-') (min_range.to_i(16) < ordinal) && (max_range.to_i(16) > ordinal) end |
#find_origins_in(word) ⇒ Object
54 55 56 |
# File 'lib/prose.rb', line 54 def find_origins_in(word) word.chars.map { |letter| languages_of(letter) unless letter.empty? }.flatten.compact.uniq end |
#languages_of(letter) ⇒ Object
46 47 48 49 50 51 52 |
# File 'lib/prose.rb', line 46 def languages_of(letter) ranges = CHAR_CODES['ranges'] ranges.keys.map do |key| ranges[key] if char_in_range?(letter.ord, key) end end |
#percentage_of(language) ⇒ Object
38 39 40 41 42 43 44 |
# File 'lib/prose.rb', line 38 def percentage_of(language) total_languages = find_origins_in(self) occurance_of_language = total_languages.count(language).to_f ((occurance_of_language / total_languages.count.to_f) * 100.0).to_i end |
#prose ⇒ Object
10 11 12 |
# File 'lib/prose.rb', line 10 def prose find_origins_in(self) end |