Module: BingAdsRubySdk::StringUtils

Defined in:
lib/bing_ads_ruby_sdk/string_utils.rb

Constant Summary collapse

UNDERSCORE =
"_"
MULTIPLE_CAPSREGEX =
/([A-Z]+)([A-Z][a-z])/
SPLIT_REGEX =
/([a-z\d])([A-Z])/
MATCHING_PATTERN =
'\1_\2'

Class Method Summary collapse

Class Method Details

.camelize(string) ⇒ Object



5
6
7
# File 'lib/bing_ads_ruby_sdk/string_utils.rb', line 5

def self.camelize(string)
  string.split(UNDERSCORE).collect! { |w| w.capitalize }.join
end

.snakize(string) ⇒ Object



9
10
11
12
13
14
15
16
17
# File 'lib/bing_ads_ruby_sdk/string_utils.rb', line 9

def self.snakize(string)
  raise "Unexpected string length : #{string.length} for string '#{string[0..200]}...'" if string.length > 1000

  string.gsub(MULTIPLE_CAPSREGEX, MATCHING_PATTERN)
    .gsub(SPLIT_REGEX, MATCHING_PATTERN)
    .tr("-", "_")
    .downcase
    .to_sym
end