Module: Surveyor::Helpers::SurveyorHelperMethods
- Includes:
- AssetPipeline
- Included in:
- SurveyorHelper
- Defined in:
- lib/surveyor/helpers/surveyor_helper_methods.rb
Instance Method Summary collapse
-
#a_text(obj, pos = nil, context = nil) ⇒ Object
Answers.
-
#dependency_explanation_helper(question, response_set) ⇒ Object
Section: dependencies, menu, previous and next.
-
#flash_messages(types) ⇒ Object
Helper for displaying warning/notice/error flash messages.
- #generate_pick_none_input_html(value, default_value, css_class, response_class, disabled) ⇒ Object
- #menu_button_for(section) ⇒ Object
- #next_question_number(question) ⇒ Object
- #next_section ⇒ Object
- #previous_section ⇒ Object
-
#q_text(obj, context = nil) ⇒ Object
Questions.
- #rc_to_as(type_sym) ⇒ Object
- #rc_to_attr(type_sym) ⇒ Object
-
#render_help_text(obj, context = nil) ⇒ Object
Help_text.
-
#response_for(response_set, question, answer = nil, response_group = nil) ⇒ Object
Responses.
- #response_idx(increment = true) ⇒ Object
-
#surveyor_includes ⇒ Object
Layout: stylsheets and javascripts.
Methods included from AssetPipeline
Instance Method Details
#a_text(obj, pos = nil, context = nil) ⇒ Object
Answers
68 69 70 71 |
# File 'lib/surveyor/helpers/surveyor_helper_methods.rb', line 68 def a_text(obj, pos=nil, context = nil) return image_tag(obj.text) if obj.is_a?(Answer) and obj.display_type == "image" obj.split_or_hidden_text(pos, context) end |
#dependency_explanation_helper(question, response_set) ⇒ Object
Section: dependencies, menu, previous and next
21 22 23 24 25 26 27 28 29 |
# File 'lib/surveyor/helpers/surveyor_helper_methods.rb', line 21 def dependency_explanation_helper(question,response_set) # Attempts to explain why this dependent question needs to be answered by referenced the dependent question and users response trigger_responses = [] dependent_questions = Question.find_all_by_id(question.dependency.dependency_conditions.map(&:question_id)).uniq response_set.responses.find_all_by_question_id(dependent_questions.map(&:id)).uniq.each do |resp| trigger_responses << resp.to_s end " You answered "#{trigger_responses.join("" and "")}" to the question "#{dependent_questions.map(&:text).join("","")}"" end |
#flash_messages(types) ⇒ Object
Helper for displaying warning/notice/error flash messages
17 18 19 |
# File 'lib/surveyor/helpers/surveyor_helper_methods.rb', line 17 def (types) types.map{|type| content_tag(:div, "#{flash[type]}".html_safe, :class => type.to_s)}.join.html_safe end |
#generate_pick_none_input_html(value, default_value, css_class, response_class, disabled) ⇒ Object
87 88 89 90 91 92 93 |
# File 'lib/surveyor/helpers/surveyor_helper_methods.rb', line 87 def generate_pick_none_input_html(value, default_value, css_class, response_class, disabled) html = {} html[:class] = [response_class,css_class].reject{ |c| c.blank? } html[:value] = default_value if value.blank? html[:disabled] = disabled unless disabled.blank? html end |
#menu_button_for(section) ⇒ Object
30 31 32 |
# File 'lib/surveyor/helpers/surveyor_helper_methods.rb', line 30 def (section) submit_tag(section.title, :name => "section[#{section.id}]") end |
#next_question_number(question) ⇒ Object
50 51 52 53 |
# File 'lib/surveyor/helpers/surveyor_helper_methods.rb', line 50 def next_question_number(question) @n ||= 0 "<span class='qnum'>#{@n += 1}) </span>" end |
#next_section ⇒ Object
37 38 39 40 |
# File 'lib/surveyor/helpers/surveyor_helper_methods.rb', line 37 def next_section # use copy in memory instead of making extra db calls @sections.last == @section ? submit_tag(t('surveyor.click_here_to_finish').html_safe, :name => "finish") : submit_tag(t('surveyor.next_section').html_safe, :name => "section[#{@sections[@sections.index(@section)+1].id}]") end |
#previous_section ⇒ Object
33 34 35 36 |
# File 'lib/surveyor/helpers/surveyor_helper_methods.rb', line 33 def previous_section # use copy in memory instead of making extra db calls submit_tag(t('surveyor.previous_section').html_safe, :name => "section[#{@sections[@sections.index(@section)-1].id}]") unless @sections.first == @section end |
#q_text(obj, context = nil) ⇒ Object
Questions
43 44 45 46 47 48 |
# File 'lib/surveyor/helpers/surveyor_helper_methods.rb', line 43 def q_text(obj, context=nil) return image_tag(obj.text) if obj.is_a?(Question) and obj.display_type == "image" return obj.render_question_text(context) if obj.is_a?(Question) and (obj.dependent? or obj.display_type == "label" or obj.part_of_group?) "#{next_question_number(obj)}#{obj.render_question_text(context)}" end |
#rc_to_as(type_sym) ⇒ Object
80 81 82 83 84 85 |
# File 'lib/surveyor/helpers/surveyor_helper_methods.rb', line 80 def rc_to_as(type_sym) case type_sym.to_s when /(integer|float|date|time|datetime)/ then :string else type_sym end end |
#rc_to_attr(type_sym) ⇒ Object
73 74 75 76 77 78 |
# File 'lib/surveyor/helpers/surveyor_helper_methods.rb', line 73 def rc_to_attr(type_sym) case type_sym.to_s when /^answer$/ then :answer_id else "#{type_sym.to_s}_value".to_sym end end |
#render_help_text(obj, context = nil) ⇒ Object
Help_text
63 64 65 |
# File 'lib/surveyor/helpers/surveyor_helper_methods.rb', line 63 def render_help_text(obj, context=nil) obj.render_help_text(context) end |
#response_for(response_set, question, answer = nil, response_group = nil) ⇒ Object
Responses
96 97 98 99 100 |
# File 'lib/surveyor/helpers/surveyor_helper_methods.rb', line 96 def response_for(response_set, question, answer = nil, response_group = nil) return nil unless response_set && question && question.id result = response_set.responses.detect{|r| (r.question_id == question.id) && (answer.blank? ? true : r.answer_id == answer.id) && (r.response_group.blank? ? true : r.response_group.to_i == response_group.to_i)} result.blank? ? response_set.responses.build(:question_id => question.id, :response_group => response_group) : result end |
#response_idx(increment = true) ⇒ Object
101 102 103 104 |
# File 'lib/surveyor/helpers/surveyor_helper_methods.rb', line 101 def response_idx(increment = true) @rc ||= 0 (increment ? @rc += 1 : @rc).to_s end |
#surveyor_includes ⇒ Object
Layout: stylsheets and javascripts
9 10 11 12 13 14 15 |
# File 'lib/surveyor/helpers/surveyor_helper_methods.rb', line 9 def surveyor_includes if asset_pipeline_enabled? stylesheet_link_tag('surveyor_all') + javascript_include_tag('surveyor_all') else stylesheet_link_tag('surveyor/reset', 'surveyor/dateinput', 'surveyor/jquery-ui.custom', 'surveyor/jquery-ui-timepicker-addon', 'surveyor', 'custom') + javascript_include_tag('surveyor/jquery.tools.min', 'surveyor/jquery-ui', 'surveyor/jquery-ui-timepicker-addon', 'surveyor/jquery.surveyor') end end |