Module: Strategize

Defined in:
lib/strategize.rb,
lib/strategize/exceptions.rb,
lib/strategize/rules/rule.rb,
lib/strategize/configuration.rb,
lib/strategize/policies/policy.rb,
lib/strategize/rules/rule_group.rb,
lib/strategize/operations/operation.rb,
lib/strategize/policies/policy_group.rb,
lib/strategize/rules/rule_evaluation.rb,
lib/strategize/evaluators/rule_evaluator.rb,
lib/strategize/operations/operation_group.rb,
lib/strategize/policies/policy_evaluation.rb,
lib/strategize/evaluators/policy_evaluator.rb,
lib/strategize/rules/rule_evaluation_digest.rb,
lib/strategize/policies/policy_evaluation_digest.rb

Defined Under Namespace

Modules: Policy Classes: Configuration, Operation, OperationGroup, PolicyEvaluation, PolicyEvaluationDigest, PolicyEvaluator, PolicyGroup, Rule, RuleEvaluation, RuleEvaluationDigest, RuleEvaluator, RuleGroup

Constant Summary collapse

NotPolicyError =

Raised when a class does not include the Stategize::Policy module.

Class.new(RuntimeError)
InvalidPredicateError =

Raised when an object that does not respond to call is provided in [Rule] initialization.

Class.new(RuntimeError)
InvalidFunctionError =

Raised when an object that does not respond to call is provided in [Operation] initialization.

Class.new(RuntimeError)
InvalidRuleEvaluator =
Class.new(RuntimeError)
InvalidPolicyEvaluator =
Class.new(RuntimeError)

Class Method Summary collapse

Class Method Details

.configurationConfiguration

Get the configuration object for Strategize

Returns:



36
37
38
# File 'lib/strategize.rb', line 36

def configuration
  @configuration ||= Configuration.new
end

.configure {|configuration| ... } ⇒ Object

Pass a block of code that is executed against the

Configuration

instance

Yields:



49
50
51
52
# File 'lib/strategize.rb', line 49

def configure
  configuration = self.configuration
  yield(configuration)
end

.reset_configurationObject

Overwrite the current [Configuration] object with a new [Configuration] instance, which returns everything to default



43
44
45
# File 'lib/strategize.rb', line 43

def reset_configuration
  @configuration = Configuration.new
end