Sha256: 16409f3a8f0f52aaf363a7cc7a157dea09ad5cd22910d7899dff2009504a4788
Contents?: true
Size: 1.64 KB
Versions: 2
Compression:
Stored size: 1.64 KB
Contents
module Forms::MailerHelper def render_field(field) case field when Forms::Fields::FieldSet render_fieldset(field) when Forms::Fields::CustomField render_custom_field(field) when Forms::Fields::Checkboxes render_array(field, @submission.value_for(field) || ["None given"]) when Forms::Fields::ContentField, Forms::Fields::SubmitButton # Nothing else render_text_field(field, @submission.value_for(field)) end end private def render_fieldset(fieldset) content_tag(:div, :class => "fieldset") do concat content_tag(:h3, fieldset.legend) if fieldset.legend? concat safe_join(fieldset.fields.map { |f| render_field(f) }, "\n") nil end end def render_custom_field(field) value = @submission.value_for(field) case value when Array render_array(field, value) when Hash render_hash(field, value) else render_text_field(field, value) end end def render_array(field, array) labelled_field(field) do concat content_tag(:ul, safe_join(array.map { |i| content_tag(:li, i) })) end end def render_hash(field, hash) labelled_field(field) do concat content_tag(:ul, safe_join(hash.map { |k, v| content_tag(:li, content_tag(:strong, k) + ": " + v) })) end end def render_text_field(field, value) labelled_field(field) do concat field.is_a?(Forms::Fields::TextArea) ? tag(:br) : " " concat value end end def labelled_field(field) content_tag(:p, :class => "field") do concat content_tag(:strong, field.label + ":") yield nil end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
wheelhouse-forms-1.2 | app/helpers/forms/mailer_helper.rb |
wheelhouse-forms-1.1 | app/helpers/forms/mailer_helper.rb |