Sha256: 5812af37033926a80c1f5f75d39b2bb5721a903ff11754bed6fbd1cb0af55d2b
Contents?: true
Size: 994 Bytes
Versions: 10
Compression:
Stored size: 994 Bytes
Contents
module DynamicFieldsets # A clause in CNF expression for question dependencies # # @author Jeremiah Hemphill class DependencyClause < ActiveRecord::Base set_table_name "dynamic_fieldsets_dependency_clauses" belongs_to :dependency_group has_many :dependencies accepts_nested_attributes_for :dependencies, :allow_destroy => true validates_presence_of :dependency_group_id # Evaluates the depdendencies in the claus by ORing them together # Short circuit evaluation returns true as soon as possible # # @param [Hash] input_values A hash of fieldset_child_id:value pairs to test against # @return [Boolean] True if one of the dependencies is true def evaluate(input_values) self.dependencies.each do |dependency| if dependency.evaluate return true end end return false end def to_hash return { "id" => self.id, "dependency_group_id" => self.dependency_group_id } end end end
Version data entries
10 entries across 10 versions & 1 rubygems