class Microsoft::Graph::BodyFormatter

Public Instance Methods

call(body, method:) click to toggle source
# File lib/microsoft/graph/body_formatter.rb, line 6
def call(body, method:)
  return nil unless Microsoft::Graph::BODY_METHODS.include?(method)
  return nil unless body

  body.transform_keys(&method(:camelize))
end

Private Instance Methods

camelize(key) click to toggle source
# File lib/microsoft/graph/body_formatter.rb, line 15
def camelize(key)
  string = key.to_s
  return string unless string.include?("_")

  string = string.sub(/^(?:(?=\b|[A-Z_])|\w)/, &:downcase)
  string.gsub(%r{(?:_|(/))([a-z\d]*)}) do
    "#{Regexp.last_match(1)}#{Regexp.last_match(2).capitalize}"
  end.gsub("/", "::")
end