Sha256: e2fe7a2fd8f91e94d23c3555f546c1c4c81e3b414ad3fae777b8d4bd291d31b6

Contents?: true

Size: 880 Bytes

Versions: 1

Compression:

Stored size: 880 Bytes

Contents

module Twilio
  module REST
    module Utils

      def twilify(something)
        if something.is_a? Hash
          something = something.to_a
          something = something.map { |a| [twilify(a[0]).to_sym, a[1]] }
          something = something.flatten(1)
          Hash[*something]
        else
          something.to_s.split('_').map! do |s|
            [s[0,1].capitalize, s[1..-1]].join
          end.join
        end
      end

      def detwilify(something)
        if something.is_a? Hash
          something = *something.to_a
          something.map! { |pair| [detwilify(pair[0]).to_sym, pair[1]] }
          something = something.flatten
          Hash[something]
        else
          something = something.to_s
          something = something.gsub(/[A-Z][a-z]*/) { |s| "_#{s.downcase}" }
          something.gsub(/^_/, '')
        end
      end

    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
twilio-ruby-3.13.0 lib/twilio-ruby/rest/utils.rb