Module: SurveyMetamodel::Application::ClassModule
- Defined in:
- lib/generators/survey/metamodels/app.rb
Instance Method Summary collapse
- #all_survey_questions ⇒ Object
- #all_view_elements ⇒ Object
- #check_for_inconsistencies ⇒ Object
- #model_surveys ⇒ Object
- #preprocessing ⇒ Object
- #view_forms ⇒ Object
Instance Method Details
#all_survey_questions ⇒ Object
30 31 32 |
# File 'lib/generators/survey/metamodels/app.rb', line 30 def all_survey_questions return model.survey_questions.flatten.uniq end |
#all_view_elements ⇒ Object
34 35 36 37 38 39 |
# File 'lib/generators/survey/metamodels/app.rb', line 34 def all_view_elements elements = view.form_elements all_elements = (view_forms + elements) elements.each { |element| all_elements << element.elements if ((element.is_a?(Group) or element.is_a?(Page)) and !element.is_a?(Image)) } return all_elements.flatten.uniq end |
#check_for_inconsistencies ⇒ Object
64 65 66 67 68 69 70 71 72 73 74 75 76 77 |
# File 'lib/generators/survey/metamodels/app.rb', line 64 def check_for_inconsistencies all_survey_questions.each do |question_1| all_survey_questions.each do |question_2| raise "Model elements cannot have the same name (name='#{element_1.name}')!" if question_1.name? and question_2.name? and question_1.name == question_2.name and (question_1 != question_2) end end all_view_elements.each do |element_1| all_view_elements.each do |element_2| raise "View elements can only be associated to a exactly one model element (name='#{element_1.name}')!" if (!element_1.model_element.nil? and !element_2.model_element.nil?) and ((element_1.model_element == element_2.model_element) and (element_1 != element_2)) raise "Pages cannot contain other pages (name='#{element_1.name}')!" if element_1.is_a?(Page) and !element_1.elements.nil? and element_1.elements.any? { |e| e.is_a?(Page) } end end end |
#model_surveys ⇒ Object
22 23 24 |
# File 'lib/generators/survey/metamodels/app.rb', line 22 def model_surveys model.surveys if !model.nil? and !model.surveys.nil? end |
#preprocessing ⇒ Object
41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 |
# File 'lib/generators/survey/metamodels/app.rb', line 41 def preprocessing model.survey_questions.each { |question| question.init } if !model.nil? if !view.nil? view.static_pages.each { |static_page| static_page.create_page_file } if !view.static_pages.nil? view.header.elements.each { |element| element.init } if !view.header.nil? and !view.header.elements.nil? view..elements.each { |element| element.init } if !view.header.nil? and !view..elements.nil? if !view.forms.nil? and !view.forms.elements.nil? view.form_elements.each do |element| element.init element.set_model_element end end if !view.nil? and !view.forms.nil? view_forms.each do |form| form.init form.set_model_element form.set_page_elements end end check_for_inconsistencies end end |
#view_forms ⇒ Object
26 27 28 |
# File 'lib/generators/survey/metamodels/app.rb', line 26 def view_forms view.forms if !view.nil? and !view.forms.nil? end |