Class: W3cApi::Models::Base
- Inherits:
-
Lutaml::Model::Serializable
- Object
- Lutaml::Model::Serializable
- W3cApi::Models::Base
- Defined in:
- lib/w3c_api/models/base.rb
Direct Known Subclasses
Affiliation, CallForTranslation, Charter, ConnectedAccount, Ecosystem, Group, Participation, Serie, SpecVersion, Specification, Translation, User
Class Method Summary collapse
-
.from_response(data) ⇒ Object
Create a model instance from a JSON hash.
-
.transform_keys(data) ⇒ Object
Utility function to transform kebab-case to snake_case.
Class Method Details
.from_response(data) ⇒ Object
Create a model instance from a JSON hash
13 14 15 16 17 18 19 |
# File 'lib/w3c_api/models/base.rb', line 13 def self.from_response(data) # Convert keys with hyphens to snake_case for Ruby transformed_data = transform_keys(data) # Create model instance new(transformed_data) end |
.transform_keys(data) ⇒ Object
Utility function to transform kebab-case to snake_case
22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/w3c_api/models/base.rb', line 22 def self.transform_keys(data) case data when Hash result = {} data.each do |key, value| snake_key = key.to_s.tr('-', '_').to_sym result[snake_key] = transform_keys(value) end result when Array data.map { |item| transform_keys(item) } else data end end |