Method: Wgit::Document#stats
- Defined in:
- lib/wgit/document.rb
#stats ⇒ Hash Also known as: statistics
Returns a Hash containing this Document's instance variables and their #length (if they respond to it). Works dynamically so that any user defined extractors (and their created instance vars) will appear in the returned Hash as well. The number of text snippets as well as total number of textual bytes are always included in the returned Hash.
303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 |
# File 'lib/wgit/document.rb', line 303 def stats hash = {} instance_variables.each do |var| # Add up the total bytes of text as well as the length. if var == :@text hash[:text] = @text.length hash[:text_bytes] = @text.sum(&:length) # Else take the var's #length method return value. else next unless instance_variable_get(var).respond_to?(:length) hash[var[1..].to_sym] = instance_variable_get(var).send(:length) end end hash end |