TaskValidator.Config (TaskValidator v0.8.0)
View SourceConfiguration module for TaskValidator.
Provides a centralized way to access and validate configuration options for the TaskValidator library. All configuration is read from the Application environment under the :task_validator key.
Configuration Options
Validation Rules
:valid_statuses
- List of valid task statuses. Default:["Planned", "In Progress", "Review", "Completed", "Blocked"]
:valid_priorities
- List of valid task priorities. Default:["Critical", "High", "Medium", "Low"]
:id_regex
- Regular expression for validating task IDs. Default:~r/^[A-Z]{2,4}\d{3,4}(-\d+|[a-z])?$/
:rating_regex
- Regular expression for validating review ratings. Default:~r/^([1-5](\.)?) *((partial))?$/
Code Quality KPIs
:max_functions_per_module
- Maximum allowed functions per module. Default:5
:max_lines_per_function
- Maximum allowed lines per function. Default:15
:max_call_depth
- Maximum allowed call depth. Default:2
Task Categories
:category_ranges
- Map of category names to number ranges. Default:%{ "core" => {1, 99}, "features" => {100, 199}, "documentation" => {200, 299}, "testing" => {300, 399} }
Example Configuration
# config/config.exs
config :task_validator,
valid_statuses: ["Planning", "Active", "Done", "Paused"],
max_functions_per_module: 7,
category_ranges: %{
"infrastructure" => {1, 50},
"business_logic" => {51, 150},
"ui" => {151, 250},
"testing" => {251, 350}
}
Summary
Functions
Gets a configuration value with validation.
Gets all configuration as a map.
Validates a configuration value.
Functions
Gets a configuration value with validation.
Returns the configured value or the default if not set. Validates the configuration value matches expected type and constraints.
Examples
iex> TaskValidator.Config.get(:valid_statuses)
["Planned", "In Progress", "Review", "Completed", "Blocked"]
iex> TaskValidator.Config.get(:max_functions_per_module)
5
@spec get_all() :: map()
Gets all configuration as a map.
Returns a map with all configuration values, using defaults for any unconfigured options.
Validates a configuration value.
Returns :ok
if valid, or {:error, reason}
if invalid.