<commit_before>class Hash
  #take keys of hash and transform those to a symbols
  def self.transform_keys_to_symbols(value)
    return value if not value.is_a?(Hash)
    hash = value.inject({}){|memo,(k,v)| memo[k.to_sym] = Hash.transform_keys_to_symbols(v); memo}
    return hash
  end
end


module Ragios 

#hides the messy details of the scheduler from users 
#provides an easy interface to start monitoring the system by calling Ragios::Server start monitors 
 class Server
   
    attr_accessor :ragios
    attr :status_update_scheduler
    
    def self.init
       @ragios = Ragios::Schedulers::Server.new 
       @status_update_scheduler = Rufus::Scheduler.start_new
    end<commit_msg>Should throw exceptions to help clients get specific details of a problem<commit_after>class Hash
  #take keys of hash and transform those to a symbols
  def self.transform_keys_to_symbols(value)
    return value if not value.is_a?(Hash)
    hash = value.inject({}){|memo,(k,v)| memo[k.to_sym] = Hash.transform_keys_to_symbols(v); memo}
    return hash
  end
end

#TODO: Ragios::Server may need to should have an exception class 
#to allow clients like the RESTserver know exactly what a problem is with specific details.

module Ragios 

#hides the messy details of the scheduler from users 
#provides an easy interface to start monitoring the system by calling Ragios::Server start monitors 
 class Server
   
    attr_accessor :ragios
    attr :status_update_scheduler
    
    def self.init
       @ragios = Ragios::Schedulers::Server.new 
       @status_update_scheduler = Rufus::Scheduler.start_new
    end
{'fraction_non_alphanumeric': 0.0684931506849315, 'fraction_numerical': 0.0, 'mean_word_length': 3.975232198142415, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6846434', 'n_tokens_mistral': 499, 'n_tokens_neox': 481, 'n_words': 167}