Class: TextStat::Main
- Inherits:
-
Object
- Object
- TextStat::Main
- Includes:
- BasicStats, DictionaryManager, ReadabilityFormulas
- Defined in:
- lib/textstat/main.rb
Overview
Main class providing text readability analysis
This class combines all TextStat modules to provide a unified interface for text analysis. It includes basic statistics, dictionary management, and readability formulas in a single class.
The class maintains backward compatibility through method delegation, ensuring that existing code continues to work seamlessly.
Class Method Summary collapse
-
.clear_dictionary_cache ⇒ Hash
Clear all cached dictionaries.
-
.dictionary_path ⇒ String
Get current dictionary path.
-
.dictionary_path=(path) ⇒ String
Set dictionary path for all instances.
-
.load_dictionary(language) ⇒ Set
Load dictionary for specified language.
-
.method_missing(method_name, *args, **kwargs, &block) ⇒ Object
Handle method delegation for backward compatibility.
-
.respond_to_missing?(method_name, include_private = false) ⇒ Boolean
Check if method exists for delegation.
Methods included from ReadabilityFormulas
#automated_readability_index, #coleman_liau_index, #dale_chall_readability_score, #flesch_kincaid_grade, #flesch_reading_ease, #forcast, #gunning_fog, #linsear_write_formula, #lix, #powers_sumner_kearl, #smog_index, #spache, #text_standard
Methods included from DictionaryManager
cache_size, cached_languages, clear_cache, #difficult_words
Methods included from BasicStats
#avg_letter_per_word, #avg_sentence_length, #avg_sentence_per_word, #avg_syllables_per_word, #char_count, #lexicon_count, #polysyllab_count, #sentence_count, #syllable_count
Class Method Details
.clear_dictionary_cache ⇒ Hash
Clear all cached dictionaries
96 97 98 |
# File 'lib/textstat/main.rb', line 96 def clear_dictionary_cache DictionaryManager.clear_cache end |
.dictionary_path ⇒ String
Get current dictionary path
87 88 89 |
# File 'lib/textstat/main.rb', line 87 def dictionary_path DictionaryManager.dictionary_path end |
.dictionary_path=(path) ⇒ String
Set dictionary path for all instances
78 79 80 |
# File 'lib/textstat/main.rb', line 78 def dictionary_path=(path) DictionaryManager.dictionary_path = path end |
.load_dictionary(language) ⇒ Set
Load dictionary for specified language
106 107 108 |
# File 'lib/textstat/main.rb', line 106 def load_dictionary(language) DictionaryManager.load_dictionary(language) end |
.method_missing(method_name, *args, **kwargs, &block) ⇒ Object
Handle method delegation for backward compatibility
This method ensures that all instance methods can be called as class methods, maintaining compatibility with the pre-1.0 API.
53 54 55 56 57 58 59 60 |
# File 'lib/textstat/main.rb', line 53 def method_missing(method_name, *args, **kwargs, &block) instance = new if instance.respond_to?(method_name) instance.send(method_name, *args, **kwargs, &block) else super end end |
.respond_to_missing?(method_name, include_private = false) ⇒ Boolean
Check if method exists for delegation
68 69 70 |
# File 'lib/textstat/main.rb', line 68 def respond_to_missing?(method_name, include_private = false) new.respond_to?(method_name, include_private) || super end |