Module: SurveyMetamodel::Form::ClassModule
- Defined in:
- lib/generators/survey/metamodels/view.rb
Instance Method Summary collapse
- #actual_pages_number ⇒ Object
- #author ⇒ Object
- #has_multiple_pages ⇒ Object
- #input_elements ⇒ Object
- #inputs ⇒ Object
- #pages ⇒ Object
- #pages_number ⇒ Object
- #set_model_element ⇒ Object
- #set_page_elements ⇒ Object
Instance Method Details
#actual_pages_number ⇒ Object
200 201 202 |
# File 'lib/generators/survey/metamodels/view.rb', line 200 def actual_pages_number page_elements.count end |
#author ⇒ Object
188 189 190 |
# File 'lib/generators/survey/metamodels/view.rb', line 188 def model_element. if !model_element.nil? end |
#has_multiple_pages ⇒ Object
204 205 206 |
# File 'lib/generators/survey/metamodels/view.rb', line 204 def has_multiple_pages actual_pages_number > 1 end |
#input_elements ⇒ Object
212 213 214 215 216 217 218 |
# File 'lib/generators/survey/metamodels/view.rb', line 212 def input_elements page_elements = self.elements.select { |e| e.is_a?(Page) }.elements other_elements = page_elements.select { |e| !e.is_a?(Group) } group_elements = page_elements.select { |e| e.is_a?(Group) }.elements input_elems = (inputs + other_elements + group_elements) return input_elems end |
#inputs ⇒ Object
192 193 194 |
# File 'lib/generators/survey/metamodels/view.rb', line 192 def inputs elements.select { |e| e.is_a?(Input) } end |
#pages ⇒ Object
208 209 210 |
# File 'lib/generators/survey/metamodels/view.rb', line 208 def pages elements.select { |e| e.is_a?(Page) } end |
#pages_number ⇒ Object
196 197 198 |
# File 'lib/generators/survey/metamodels/view.rb', line 196 def pages_number pages.count end |
#set_model_element ⇒ Object
220 221 222 223 224 225 226 |
# File 'lib/generators/survey/metamodels/view.rb', line 220 def set_model_element model_elements = self.view.app.model.surveys.select { |s| s.name == self.name } if !model_elements.nil? and model_elements.count == 1 self.model_element = model_elements.first self.title = model_element.title if !title? and model_element.title? end end |
#set_page_elements ⇒ Object
228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 |
# File 'lib/generators/survey/metamodels/view.rb', line 228 def set_page_elements _pages = pages first_page_break = _pages.first self.page_elements = Array.new self.page_elements << elements if _pages.count == 0 if _pages.any? _pages.each do |page_break| if !page_break.elements.nil? and !page_break.elements.empty? self.page_elements << page_break.elements.reject { |e| e.is_a?(Page) } else if page_break == first_page_break self.page_elements << page_elements_before_first self.page_elements << page_elements_after(page_break) else self.page_elements << page_elements_after(page_break) end end end end end |