Module: Carnivore::Utils::Params
- Included in:
 - Carnivore::Utils
 - Defined in:
 - lib/carnivore/utils/params.rb
 
Overview
Parameter helper methods generally aimed at Hash instances
Instance Method Summary (collapse)
- 
  
    
      - (Object, NilClass) retrieve(hash, *args) 
    
    
  
  
  
  
  
  
  
  
  
    
Retrieve value in hash at given path.
 - 
  
    
      - (Hash) symbolize_hash(hash) 
    
    
  
  
  
  
  
  
  
  
  
    
Symbolize keys in hash.
 
Instance Method Details
- (Object, NilClass) retrieve(hash, *args)
Retrieve value in hash at given path
      32 33 34 35 36 37 38 39 40  | 
    
      # File 'lib/carnivore/utils/params.rb', line 32 def retrieve(hash, *args) valids = [::Hash, hash.is_a?(Class) ? hash : hash.class] args.flatten.inject(hash) do |memo, key| break unless valids.detect{ |valid_type| memo.is_a?(valid_type) || memo == valid_type } memo[key.to_s] || memo[key.to_sym] || break end end  | 
  
- (Hash) symbolize_hash(hash)
Symbolize keys in hash
      11 12 13 14 15 16 17 18 19 20 21 22 23 24 25  | 
    
      # File 'lib/carnivore/utils/params.rb', line 11 def symbolize_hash(hash) Hash[*( hash.map do |k,v| if(k.is_a?(String)) key = k.gsub(/(?<![A-Z])([A-Z])/, '_\1').sub(/^_/, '').downcase.to_sym else key = k end [ key, v.is_a?(Hash) ? symbolize_hash(v) : v ] end.flatten(1) )] end  |