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