class Admission::Tests::RuleCheckContext

Attributes

action[R]

Public Class Methods

new() { |self| ... } click to toggle source
# File lib/admission/tests/tests.rb, line 116
def initialize
  @evaluations = []
  action = yield self
  self.set_rule_check_action = action if !self.action && Proc === action
end

Public Instance Methods

[](value) click to toggle source
# File lib/admission/tests/tests.rb, line 143
def [] value
  data[value]
end
[]=(name, value) click to toggle source
# File lib/admission/tests/tests.rb, line 147
def []= name, value
  data[name] = value
end
add_evaluation(*args) click to toggle source
# File lib/admission/tests/tests.rb, line 151
def add_evaluation *args
  evaluation = Evaluation.new *args
  @evaluations.push evaluation
  evaluation
end
data() click to toggle source
# File lib/admission/tests/tests.rb, line 122
def data
  @data ||= {}
end
evaluate(request) { |evaluation| ... } click to toggle source
# File lib/admission/tests/tests.rb, line 157
def evaluate request
  raise 'no evaluation preset' if @evaluations.empty?
  @evaluations.each do |evaluation|
    evaluation.request = request
    yield evaluation
  end
end
prepare(*args, &block) click to toggle source
# File lib/admission/tests/tests.rb, line 134
def prepare *args, &block
  raise 'context is static (i.e. context was not set to a Proc)' unless @data_builder
  @data = @data_builder.call *args, &block
end
set(value) click to toggle source
# File lib/admission/tests/tests.rb, line 126
def set value
  case value
  when Proc then @data_builder = value
  when Hash then @data = value
  else raise('context must be Hash or Proc')
  end
end
set_rule_check_action=(action) click to toggle source
# File lib/admission/tests/tests.rb, line 139
def set_rule_check_action= action
  @action = action
end