Sha256: 83cbf5f1c0614a766b676ca6fb40b67265c1443acfd06132a36c4d5f2468a7e9
Contents?: true
Size: 1.38 KB
Versions: 1
Compression:
Stored size: 1.38 KB
Contents
module Surveyor module Models module SurveySectionMethods def self.included(base) # Associations base.send :has_many, :questions, :order => "display_order ASC", :dependent => :destroy base.send :belongs_to, :survey # Scopes base.send :default_scope, :order => "display_order ASC" base.send :scope, :with_includes, { :include => {:questions => [:answers, :question_group, {:dependency => :dependency_conditions}]}} @@validations_already_included ||= nil unless @@validations_already_included # Validations base.send :validates_presence_of, :title, :display_order # this causes issues with building and saving #, :survey @@validations_already_included = true end end # Instance Methods def initialize(*args) super(*args) default_args end def default_args self.data_export_identifier ||= Surveyor::Common.normalize(title) end def questions_and_groups qs = [] questions.each_with_index.map do |q,i| if q.part_of_group? if (i+1 >= questions.size) or (q.question_group_id != questions[i+1].question_group_id) q.question_group end else q end end.compact end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
surveyor-0.22.0 | lib/surveyor/models/survey_section_methods.rb |