Class: AdvisorsCommandClient::Models::Base
- Inherits:
-
Object
- Object
- AdvisorsCommandClient::Models::Base
- Defined in:
- lib/advisors_command_client/models/base.rb
Direct Known Subclasses
Class Method Summary collapse
-
.deep_underscore_params(val = {}) ⇒ Object
JSON comes back as SnakeCase.
- .load(hash) ⇒ Object
Class Method Details
.deep_underscore_params(val = {}) ⇒ Object
JSON comes back as SnakeCase. This will convert all hash keys to snake_case.
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
# File 'lib/advisors_command_client/models/base.rb', line 12 def self.deep_underscore_params(val = {}) snake_caser = -> val {val.to_s.gsub(/::/, '/').gsub(/([A-Z]+)([A-Z][a-z])/,'\1_\2').gsub(/([a-z\d])([A-Z])/,'\1_\2').tr("-", "_").downcase} case val when Array val.map { |v| deep_underscore_params(v) } when Hash val.keys.each do |k, v = val[k]| val.delete k val[snake_caser.call(k)] = deep_underscore_params(v) end params = val else val end return val end |
.load(hash) ⇒ Object
6 7 8 |
# File 'lib/advisors_command_client/models/base.rb', line 6 def self.load(hash) new(deep_underscore_params(hash)) end |