Sha256: b4a4a699694c0402ef863d45d4ecac4ebd3ce06a8e70dda1e28ea16765ef0266

Contents?: true

Size: 725 Bytes

Versions: 10

Compression:

Stored size: 725 Bytes

Contents

require 'jackal-cfn'

module Jackal
  module Cfn
    module Utils

      autoload :Fog, 'jackal-cfn/utils/fog'
      autoload :Http, 'jackal-cfn/utils/http'

      # Snake case top level keys in hash
      #
      # @param params [Hash]
      # @return [Hash] new hash with snake cased toplevel keys
      def transform_parameters(params)
        Smash.new.tap do |new_hash|
          (params || []).each do |key, value|
            new_hash[snakecase(key)] = value
          end
        end
      end
      alias_method :rekey_hash, :transform_parameters

      # Snake case string
      #
      # @param v [String]
      # @return [Symbol]
      def snakecase(v)
        Bogo::Utility.snake(v)
      end

    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
jackal-cfn-0.2.28 lib/jackal-cfn/utils.rb
jackal-cfn-0.2.26 lib/jackal-cfn/utils.rb
jackal-cfn-0.2.24 lib/jackal-cfn/utils.rb
jackal-cfn-0.2.22 lib/jackal-cfn/utils.rb
jackal-cfn-0.2.20 lib/jackal-cfn/utils.rb
jackal-cfn-0.2.18 lib/jackal-cfn/utils.rb
jackal-cfn-0.2.16 lib/jackal-cfn/utils.rb
jackal-cfn-0.2.14 lib/jackal-cfn/utils.rb
jackal-cfn-0.2.12 lib/jackal-cfn/utils.rb
jackal-cfn-0.2.10 lib/jackal-cfn/utils.rb