Sha256: b1469c05938f367a229b0050ff0905bb57b6e914064e621f78f6c05fdc0b05b2

Contents?: true

Size: 1.18 KB

Versions: 3

Compression:

Stored size: 1.18 KB

Contents

module SurveyParser
  class Survey < SurveyParser::Base
    # Context, Content, Reference, Expiry, Display
    attr_accessor :id, :parser
    attr_accessor :title, :description
    attr_accessor :access_code, :reference_identifier, :data_export_identifier, :common_namespace, :common_identitier
    attr_accessor :active_at, :inactive_at
    attr_accessor :css_url, :custom_class
    has_children :survey_sections
  
    def parse_args(args)
      title = args[0]
      {:title => title, :access_code => Surveyor::Common.to_normalized_string(title)}.merge(args[1] || {})
    end

    def find_question_by_reference(ref_id)
      found = nil
      survey_sections.detect{|s| found = s.find_question_by_reference(ref_id)}
      return found
    end
  
    def reconcile_dependencies
      survey_sections.each do |section|
        section.questions.each do |question| 
          question.dependency.dependency_conditions.each { |con| con.reconcile_dependencies} unless question.dependency.nil?
        end
        section.question_groups.each do |group|
          group.dependency.dependency_conditions.each { |con| con.reconcile_dependencies} unless group.dependency.nil?
        end
      end  
    end

  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
surveyor-0.14.5 script/surveyor/survey.rb
surveyor-0.14.4 script/surveyor/survey.rb
surveyor-0.14.3 script/surveyor/survey.rb