Sha256: 213f04691c0dec149288e5c34221b72deb278358422f4a39cd87a01f05de810f
Contents?: true
Size: 918 Bytes
Versions: 1
Compression:
Stored size: 918 Bytes
Contents
class Formation::Printer attr_reader :form def initialize(form) @form = form end def print html = '' html << print_errors(form.errors) form.elements.each do |element| if element.field? html << print_field(element) else html << print_fieldset(element) end end html end def print_error(error) <<-HTML <p style="color: red">#{error}</p> HTML end def print_errors(errors) errors.map { |error| print_error error }.join("\n") end def print_field(field) <<-HTML <li> <label>#{field.label}</label> #{field.type.to_html} </li> HTML end def print_fieldset(fieldset) <<-HTML <fieldset> <legend>#{fieldset.legend}</legend> <ol> #{fieldset.fields.map { |f| print_field f }.join("\n")} </ol> </fieldset> HTML end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
formation-0.0.1 | lib/formation/printer.rb |