Module: DecisionAgent
- Defined in:
- lib/decision_agent.rb,
lib/decision_agent/agent.rb,
lib/decision_agent/errors.rb,
lib/decision_agent/context.rb,
lib/decision_agent/version.rb,
lib/decision_agent/decision.rb,
lib/decision_agent/auth/role.rb,
lib/decision_agent/auth/user.rb,
lib/decision_agent/dmn/cache.rb,
lib/decision_agent/dmn/model.rb,
lib/decision_agent/dmn/errors.rb,
lib/decision_agent/dmn/parser.rb,
lib/decision_agent/evaluation.rb,
lib/decision_agent/simulation.rb,
lib/decision_agent/web/server.rb,
lib/decision_agent/dmn/adapter.rb,
lib/decision_agent/dmn/testing.rb,
lib/decision_agent/auth/session.rb,
lib/decision_agent/dmn/exporter.rb,
lib/decision_agent/dmn/importer.rb,
lib/decision_agent/scoring/base.rb,
lib/decision_agent/audit/adapter.rb,
lib/decision_agent/dmn/validator.rb,
lib/decision_agent/replay/replay.rb,
lib/decision_agent/dmn/feel/types.rb,
lib/decision_agent/dmn/versioning.rb,
lib/decision_agent/dmn/visualizer.rb,
lib/decision_agent/web/dmn_editor.rb,
lib/decision_agent/auth/permission.rb,
lib/decision_agent/dmn/feel/parser.rb,
lib/decision_agent/dsl/rule_parser.rb,
lib/decision_agent/evaluators/base.rb,
lib/decision_agent/auth/rbac_config.rb,
lib/decision_agent/web/rack_helpers.rb,
lib/decision_agent/auth/rbac_adapter.rb,
lib/decision_agent/dmn/decision_tree.rb,
lib/decision_agent/scoring/consensus.rb,
lib/decision_agent/scoring/threshold.rb,
lib/decision_agent/simulation/errors.rb,
lib/decision_agent/ab_testing/ab_test.rb,
lib/decision_agent/audit/null_adapter.rb,
lib/decision_agent/auth/authenticator.rb,
lib/decision_agent/dmn/decision_graph.rb,
lib/decision_agent/dmn/feel/evaluator.rb,
lib/decision_agent/dmn/feel/functions.rb,
lib/decision_agent/dsl/operators/base.rb,
lib/decision_agent/scoring/max_weight.rb,
lib/decision_agent/versioning/adapter.rb,
lib/decision_agent/audit/logger_adapter.rb,
lib/decision_agent/auth/session_manager.rb,
lib/decision_agent/dmn/feel/transformer.rb,
lib/decision_agent/dsl/schema_validator.rb,
lib/decision_agent/evaluation_validator.rb,
lib/decision_agent/testing/test_scenario.rb,
lib/decision_agent/dmn/feel/simple_parser.rb,
lib/decision_agent/auth/permission_checker.rb,
lib/decision_agent/dsl/condition_evaluator.rb,
lib/decision_agent/auth/access_audit_logger.rb,
lib/decision_agent/dsl/helpers/date_helpers.rb,
lib/decision_agent/evaluators/dmn_evaluator.rb,
lib/decision_agent/monitoring/alert_manager.rb,
lib/decision_agent/scoring/weighted_average.rb,
lib/decision_agent/simulation/replay_engine.rb,
lib/decision_agent/web/rack_request_helpers.rb,
lib/decision_agent/auth/password_reset_token.rb,
lib/decision_agent/dsl/helpers/cache_helpers.rb,
lib/decision_agent/explainability/rule_trace.rb,
lib/decision_agent/testing/batch_test_runner.rb,
lib/decision_agent/ab_testing/ab_test_manager.rb,
lib/decision_agent/ab_testing/storage/adapter.rb,
lib/decision_agent/monitoring/monitored_agent.rb,
lib/decision_agent/simulation/impact_analyzer.rb,
lib/decision_agent/simulation/scenario_engine.rb,
lib/decision_agent/versioning/version_manager.rb,
lib/decision_agent/web/dmn_editor/xml_builder.rb,
lib/decision_agent/ab_testing/ab_testing_agent.rb,
lib/decision_agent/auth/password_reset_manager.rb,
lib/decision_agent/dsl/helpers/utility_helpers.rb,
lib/decision_agent/evaluators/static_evaluator.rb,
lib/decision_agent/monitoring/dashboard_server.rb,
lib/decision_agent/simulation/scenario_library.rb,
lib/decision_agent/simulation/what_if_analyzer.rb,
lib/decision_agent/testing/batch_test_importer.rb,
lib/decision_agent/dsl/helpers/template_helpers.rb,
lib/decision_agent/dsl/operators/rate_operators.rb,
lib/decision_agent/monitoring/metrics_collector.rb,
lib/decision_agent/web/dmn_editor/serialization.rb,
lib/decision_agent/ab_testing/ab_test_assignment.rb,
lib/decision_agent/simulation/shadow_test_engine.rb,
lib/decision_agent/dsl/helpers/comparison_helpers.rb,
lib/decision_agent/dsl/helpers/geospatial_helpers.rb,
lib/decision_agent/dsl/operators/string_operators.rb,
lib/decision_agent/evaluators/json_rule_evaluator.rb,
lib/decision_agent/explainability/condition_trace.rb,
lib/decision_agent/explainability/trace_collector.rb,
lib/decision_agent/monitoring/prometheus_exporter.rb,
lib/decision_agent/testing/test_coverage_analyzer.rb,
lib/decision_agent/testing/test_result_comparator.rb,
lib/decision_agent/web/middleware/auth_middleware.rb,
lib/decision_agent/dsl/operators/numeric_operators.rb,
lib/decision_agent/monitoring/storage/base_adapter.rb,
lib/decision_agent/versioning/activerecord_adapter.rb,
lib/decision_agent/versioning/file_storage_adapter.rb,
lib/decision_agent/dsl/operators/duration_operators.rb,
lib/decision_agent/simulation/monte_carlo_simulator.rb,
lib/decision_agent/ab_testing/storage/memory_adapter.rb,
lib/decision_agent/dsl/operators/date_time_operators.rb,
lib/decision_agent/dsl/operators/financial_operators.rb,
lib/decision_agent/dsl/operators/string_aggregations.rb,
lib/decision_agent/monitoring/storage/memory_adapter.rb,
lib/decision_agent/dsl/operators/collection_operators.rb,
lib/decision_agent/dsl/operators/geospatial_operators.rb,
lib/decision_agent/dsl/operators/mathematical_operators.rb,
lib/decision_agent/explainability/explainability_result.rb,
lib/decision_agent/web/middleware/permission_middleware.rb,
lib/generators/decision_agent/install/install_generator.rb,
lib/decision_agent/dsl/helpers/parameter_parsing_helpers.rb,
lib/decision_agent/dsl/operators/moving_window_operators.rb,
lib/decision_agent/dsl/operators/statistical_aggregations.rb,
lib/decision_agent/dsl/operators/time_component_operators.rb,
lib/decision_agent/ab_testing/storage/activerecord_adapter.rb,
lib/decision_agent/dsl/helpers/operator_evaluation_helpers.rb,
lib/decision_agent/dsl/operators/date_arithmetic_operators.rb,
lib/decision_agent/monitoring/storage/activerecord_adapter.rb,
lib/decision_agent/dsl/operators/basic_comparison_operators.rb,
lib/generators/decision_agent/monitoring_migration/monitoring_migration_generator.rb,
lib/generators/decision_agent/versioning_migration/versioning_migration_generator.rb
Defined Under Namespace
Modules: ABTesting, Audit, Auth, Dmn, Dsl, Evaluators, Explainability, Generators, Monitoring, Replay, Scoring, Simulation, Testing, Versioning, Web Classes: Agent, AuthenticationError, BatchTestError, Context, Decision, Error, Evaluation, EvaluationValidator, ImportError, InvalidAuditAdapterError, InvalidConfidenceError, InvalidConfigurationError, InvalidEvaluatorError, InvalidRuleDslError, InvalidScoringStrategyError, InvalidTestDataError, InvalidWeightError, NoEvaluationsError, NotFoundError, PermissionDeniedError, ReplayMismatchError, ValidationError
Constant Summary collapse
- ConfigurationError =
Alias for backward compatibility and clearer naming
InvalidConfigurationError- VERSION =
Semantic version: MAJOR.MINOR.PATCH MAJOR: Incremented for incompatible API changes MINOR: Incremented for backward-compatible functionality additions PATCH: Incremented for backward-compatible bug fixes
"1.2.0"
Class Attribute Summary collapse
-
.permission_checker ⇒ Object
Get the configured permission checker Thread-safe: uses double-checked locking for lazy initialization fallback.
-
.rbac_config ⇒ Object
readonly
Returns the value of attribute rbac_config.
Class Method Summary collapse
-
.configure_rbac(adapter_type = nil, **options) {|RbacConfig| ... } ⇒ Object
Configure RBAC adapter.
Class Attribute Details
.permission_checker ⇒ Object
Get the configured permission checker Thread-safe: uses double-checked locking for lazy initialization fallback
106 107 108 109 110 111 112 |
# File 'lib/decision_agent.rb', line 106 def return if .synchronize do ||= Auth::PermissionChecker.new(adapter: @rbac_config.adapter) end end |
.rbac_config ⇒ Object (readonly)
Returns the value of attribute rbac_config.
81 82 83 |
# File 'lib/decision_agent.rb', line 81 def rbac_config @rbac_config end |
Class Method Details
.configure_rbac(adapter_type = nil, **options) {|RbacConfig| ... } ⇒ Object
Configure RBAC adapter
93 94 95 96 97 98 99 100 101 102 |
# File 'lib/decision_agent.rb', line 93 def configure_rbac(adapter_type = nil, **) if block_given? yield @rbac_config elsif adapter_type @rbac_config.use(adapter_type, **) end # Initialize permission checker at configuration time (thread-safe write-once pattern) = Auth::PermissionChecker.new(adapter: @rbac_config.adapter) @rbac_config end |