Sha256: 242e6f0576e8f7f11a275520089a13ac1adce993e21a45587f512d5271354ab3

Contents?: true

Size: 963 Bytes

Versions: 1

Compression:

Stored size: 963 Bytes

Contents

class ValidationCondition < ActiveRecord::Base
  # Constants
  OPERATORS = %w(== != < > <= >= =~)

  # Associations
  belongs_to :validation
  
  # Scopes
  
  # Validations
  validates_numericality_of :validation_id #, :question_id, :answer_id
  validates_presence_of :operator, :rule_key
  validates_inclusion_of :operator, :in => OPERATORS
  validates_uniqueness_of :rule_key, :scope => :validation_id
  
  # Class methods
  def self.operators
    OPERATORS
  end
  
  # Instance Methods
  # def to_hash(answer, response)
  #   {rule_key.to_sym => self.is_valid?(response)}
  # end
  # 
  # def is_valid?(response)
  #   klass = response.answer.response_class
  #   case self.operator
  #   when "==", "<", ">", "<=", ">="
  #     response.as(klass).send(self.operator, self.as(klass))
  #   when "!="
  #     !(response.as(klass) == self.as(klass))
  #   when "=~"
  #     response.as(klass).to_s =~ self.regexp
  #   else
  #     false
  #   end
  # end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
surveyor-0.8.0 app/models/validation_condition.rb