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:

  1. Create a migration to add the friendly_id column to your model.

  2. Include the WolfCore::FriendlyModelId in your model.

  3. 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"