Class: Fe::QuestionSheet

Inherits:
ActiveRecord::Base
  • Object
show all
Defined in:
app/models/fe/question_sheet.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.new_with_pageObject

create a new form with a page already attached



27
28
29
30
31
# File 'app/models/fe/question_sheet.rb', line 27

def self.new_with_page
  question_sheet = self.new(:label => next_label)
  question_sheet.pages.build(:label => 'Page 1', :number => 1)
  question_sheet
end

Instance Method Details

#duplicateObject

Pages get duplicated Question elements get associated non-question elements get cloned



44
45
46
47
48
49
50
51
52
# File 'app/models/fe/question_sheet.rb', line 44

def duplicate
  new_sheet = QuestionSheet.new(self.attributes)
  new_sheet.label = self.label + ' - COPY'
  new_sheet.save(:validate => false)
  self.pages.each do |page|
    page.copy_to(new_sheet)
  end
  new_sheet
end

#elementsObject



37
38
39
# File 'app/models/fe/question_sheet.rb', line 37

def elements
  pages.collect(&:elements).flatten
end

#questionsObject



33
34
35
# File 'app/models/fe/question_sheet.rb', line 33

def questions
  pages.collect(&:questions).flatten
end