Module: WolfCore
- Defined in:
- lib/wolf_core/utils/friendly_model_id.rb,
lib/wolf_core.rb,
lib/wolf_core/version.rb,
lib/wolf_core/domain/entity.rb,
lib/wolf_core/utils/file_utils.rb,
lib/wolf_core/utils/hash_utils.rb,
lib/wolf_core/utils/array_utils.rb,
lib/wolf_core/utils/async_utils.rb,
lib/wolf_core/utils/string_utils.rb,
lib/wolf_core/domain/value_object.rb,
lib/wolf_core/utils/logging_utils.rb,
lib/wolf_core/domain/domain_object.rb,
lib/wolf_core/application/barton/parsing.rb,
lib/wolf_core/application/barton/routing.rb,
lib/wolf_core/application/barton/mappings.rb,
lib/wolf_core/application/service_exception.rb,
lib/wolf_core/infrastructure/fkm_operations.rb,
lib/wolf_core/infrastructure/http_operations.rb,
lib/wolf_core/application/application_service.rb,
lib/wolf_core/infrastructure/http_data_source.rb,
lib/wolf_core/application/exception_operations.rb,
lib/wolf_core/infrastructure/no_sql_db_operations.rb,
lib/wolf_core/application/salesforce_oauth_service.rb,
lib/wolf_core/infrastructure/no_sql_db_data_source.rb,
lib/wolf_core/infrastructure/application_repository.rb,
lib/wolf_core/infrastructure/application_serializer.rb,
lib/wolf_core/infrastructure/job_scheduler_data_source.rb,
lib/wolf_core/application/integrations/change_detection.rb,
lib/wolf_core/infrastructure/lambda_function_operations.rb,
lib/wolf_core/infrastructure/lambda_function_data_source.rb,
lib/wolf_core/application/integrations/routing_operations.rb,
lib/wolf_core/infrastructure/in_memory_storage_operations.rb,
lib/wolf_core/application/integrations/webhooks_operations.rb,
lib/wolf_core/infrastructure/in_memory_storage_data_source.rb,
lib/wolf_core/application/barton/onboarding/file_operations.rb,
lib/wolf_core/infrastructure/no_sql_db_instance_data_source.rb,
lib/wolf_core/application/integrations/client_api_operations.rb,
lib/wolf_core/application/integrations/orders_api_operations.rb,
lib/wolf_core/infrastructure/instance_application_serializer.rb,
lib/wolf_core/application/integrations/environment_operations.rb,
lib/wolf_core/application/integrations/iterate_orders_service.rb,
lib/wolf_core/application/integrations/contract_api_operations.rb,
lib/wolf_core/application/integrations/jobseeker_api_operations.rb,
lib/wolf_core/application/integrations/custom_value_api_operations.rb
Overview
Steps to use this module:
-
Create a migration to add the friendly_id column to your model.
-
Include the WolfCore::FriendlyModelId in your model.
-
Implement the friendly_id_candidates method in your model.
Example:
class MyModel < ApplicationRecord
include WolfCore::FriendlyModelId
def friendly_id_candidates
[:fullname, :address]
end
end
This will generate a friendly_id based on the fullname field. If the fullname is not unique, it will attempt to use the address field instead. If neither can be used to generate a unique friendly_id, it will append the id to the value of the first field name in the array returned by the friendly_id_candidates method, which is fullname in this case.
Defined Under Namespace
Modules: ArrayUtils, AsyncUtils, Barton, ExceptionOperations, FileUtils, FkmOperations, FriendlyModelId, HashUtils, HttpDataSource, HttpOperations, InMemoryStorageDataSource, InMemoryStorageOperations, Integrations, LambdaFunctionDataSource, LambdaFunctionOperations, LoggingUtils, NoSqlDbDataSource, NoSqlDbOperations, StringUtils Classes: ApplicationRepository, ApplicationSerializer, ApplicationService, DomainObject, Entity, InstanceApplicationSerializer, JobSchedulerDataSource, NoSqlDbInstanceDataSource, SalesforceOauthService, ServiceException, ValueObject
Constant Summary collapse
- VERSION =
"1.1.24"