require "google_drive" def type(arg) case when arg.start_with?("Text") "text" when arg == "Datum" "date" when arg == "Integer" "number" end end session = GoogleDrive::Session.from_config("config.json") key = "1-QkYYrbFtj_MIz9wsfsoKW6UzVJslrjAhXt18VMcF_8" ary = [] session.spreadsheet_by_key(key).worksheets.each do |w| title = w.title w.rows.each do |r| next if r[6] != "x" ary[r[7].to_i] = <<-HEREDOC .form-group.form-group-lg class=("has-error" if keys.include?("#{title+"["+r[2]+"]"}")) label.control-label for="#{title+"["+r[2]+"]"}" |#{r[1]} input.form-control id="#{title+"["+r[2]+"]"}" name="#{title+"["+r[2]+"]"}" type="#{type(r[3])}" value=(params[:'#{title}'] && params[:'#{title+"']['"+r[2]+"']"}) HEREDOC end end panel_daten = <<-HEREDOC .panel.panel-default .panel-heading Persönliche Angaben .panel-body HEREDOC panel_erzieher = <<-HEREDOC .panel.panel-default .panel-heading Angaben Erziehungsberechtigte .panel-body HEREDOC schule_beruf = <<-HEREDOC .form-group.form-group-lg class=("has-error" if keys.include?("taetigkeit")) label.control-label for="taetigkeit" |Geben Sie bitte den Namen Ihrer derzeitigen Schule oder Einrichtung an textarea.form-control name="taetigkeit" rows="3" =params[:taetigkeit] HEREDOC ary[0] = panel_daten ary[5] = " ==partial :geschlecht, :keys => keys" ary[11] = " ==partial :nationalitaet, :keys => keys" ary[12] = " ==partial :konfession, :keys => keys" ary[13] = " ==partial :schulform, :keys => keys" ary[16] = " ==partial :anrede, {:keys => keys, :i => 1}" ary[19] = " ==partial :anrede, {:keys => keys, :i => 2}" ary.insert(15, schule_beruf, panel_erzieher) # Erstelle Formular nur über persönliche Basis- und Zusatzdaten File.open("views/form_inputs.slim", 'w') do |f| f.puts ary[0..15] end # Erstelle Formular nur für Erzieherdaten File.open("views/form_erzieher.slim", 'w') do |f| f.puts ary[16..-1] end