Sha256: 15b140bf1d56dd5568dd071b91e7268ddf78d4088b222cbc5512748a21e34abe
Contents?: true
Size: 1.01 KB
Versions: 2
Compression:
Stored size: 1.01 KB
Contents
# encoding: utf-8 # module Mode module Sdk # Provides simple utility methods for use with the Mode public data # warehouse # module WarehouseUtil # Normalize and truncate a string for use as a Mode warehouse table or # column name # # @param name [String] the original name # # @return [String] the normalized name # def normalize_name(name) normalize_string(name)[0..63] end protected def normalize_string(name) name .downcase # no uppercase characters .strip # no leading or trailing whitespace .gsub(/\s+/, ' ') # no multiple consecutive spaces .gsub(/-/, '_') # no hyphens .gsub(/[^\w\s_]/, '') # no unexpected characters .gsub(/\s/, '_') # no spaces .gsub(/_+/, '_') # no multiple consecutive underscores .gsub(/(^_)|(_$)/, '') # no leading or trailing underscores end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
mode-sdk-0.1.0 | lib/mode/sdk/warehouse_util.rb |
mode-sdk-0.0.1 | lib/mode/sdk/warehouse_util.rb |