Sha256: 90d26dfdcc737716f5a054df34de22787ddd98e90ab17d78168c10d66b259410

Contents?: true

Size: 569 Bytes

Versions: 12

Compression:

Stored size: 569 Bytes

Contents

module Forms
  module Config
    
    class << self
      def convert(yaml)
        hash = hashify(yaml)
        hash = deep_symbolize_keys(hash)
        
        hash
      end
      
      def hashify(yaml)
        YAML::load("--- !map:HashWithIndifferentAccess\n"+yaml)
      end
      
      def deep_symbolize_keys(item)
        case item
        when Hash
          item.inject({}) do |acc, (k, v)|
            acc[(k.to_sym rescue k)] = deep_symbolize_keys(v)
            acc
          end
        else
          item
        end
      end
    end
    
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
radiant-forms-extension-3.2.8 lib/forms/config.rb
radiant-forms-extension-3.3.2 lib/forms/config.rb
radiant-forms-extension-3.3.1 lib/forms/config.rb
radiant-forms-extension-3.3.0 lib/forms/config.rb
radiant-forms-extension-3.2.7 lib/forms/config.rb
radiant-forms-extension-3.2.6 lib/forms/config.rb
radiant-forms-extension-3.2.5 lib/forms/config.rb
radiant-forms-extension-3.2.4 lib/forms/config.rb
radiant-forms-extension-3.2.2 lib/forms/config.rb
radiant-forms-extension-3.2.1 lib/forms/config.rb
radiant-forms-extension-3.2.0.beta.1 lib/forms/config.rb
radiant-forms-extension-3.1.1 lib/forms/config.rb