class WolfCore::DomainObject

def self.create(params = {}, **kwargs)

def self.create(params = {}, **kwargs)
  object = self.new(parse_params(params, **kwargs))
  object.reset_changes
  if object.valid?
    success_key = extract_success_key
    Result.success(data: { success_key => object })
  else
    Result.failure(error: { message: object.errors.full_messages.to_sentence })
  end
rescue ActiveModel::UnknownAttributeError => e
  Result.failure(error: { message: e.message, error_type: e.class.to_s })
end