Class: Formbuilder::EntryRenderer
- Inherits:
-
Object
- Object
- Formbuilder::EntryRenderer
- Includes:
- ActionView::Context, ActionView::Helpers::TagHelper
- Defined in:
- lib/formbuilder/entry_renderer.rb
Direct Known Subclasses
Instance Method Summary collapse
- #field_labels(rf) ⇒ Object
- #field_value(rf) ⇒ Object
- #fields ⇒ Object
-
#initialize(entry, form, opts = {}) ⇒ EntryRenderer
constructor
A new instance of EntryRenderer.
- #no_value ⇒ Object
- #to_html ⇒ Object
Constructor Details
#initialize(entry, form, opts = {}) ⇒ EntryRenderer
Returns a new instance of EntryRenderer.
6 7 8 9 |
# File 'lib/formbuilder/entry_renderer.rb', line 6 def initialize(entry, form, opts = {}) @entry, @form = entry, form = opts # merge defaults? end |
Instance Method Details
#field_labels(rf) ⇒ Object
30 31 32 33 34 35 36 |
# File 'lib/formbuilder/entry_renderer.rb', line 30 def field_labels(rf) """ #{rf.label} #{rf.blind? ? '<span class="label">Blind</span>' : ''} #{rf.admin_only? ? '<span class="label">Admin Only</span>' : ''} """ end |
#field_value(rf) ⇒ Object
42 43 44 45 |
# File 'lib/formbuilder/entry_renderer.rb', line 42 def field_value(rf) value = @entry.response_value(rf) rf.render_entry(value, entry: @entry) end |
#fields ⇒ Object
11 12 13 14 15 |
# File 'lib/formbuilder/entry_renderer.rb', line 11 def fields return_fields = @form.response_fields.reject { |rf| !rf.input_field } return_fields.reject! { |rf| rf.blind? } unless [:show_blind] return_fields end |
#no_value ⇒ Object
38 39 40 |
# File 'lib/formbuilder/entry_renderer.rb', line 38 def no_value "<span class='no-response'>No response</span>" end |
#to_html ⇒ Object
17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/formbuilder/entry_renderer.rb', line 17 def to_html content_tag 'dl', class: 'entry-dl' do fields.map do |rf| """ <dt>#{field_labels(rf)}</dt> <dd> #{field_value(rf) || no_value} </dd> """ end.join('').html_safe end end |