forme 1.9.0 → 2.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (47) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG +70 -0
  3. data/MIT-LICENSE +1 -1
  4. data/README.rdoc +396 -202
  5. data/lib/forme/bs3.rb +19 -5
  6. data/lib/forme/erb.rb +18 -16
  7. data/lib/forme/form.rb +151 -118
  8. data/lib/forme/input.rb +1 -1
  9. data/lib/forme/rails.rb +41 -72
  10. data/lib/forme/raw.rb +2 -2
  11. data/lib/forme/sinatra.rb +6 -2
  12. data/lib/forme/tag.rb +3 -12
  13. data/lib/forme/template.rb +118 -0
  14. data/lib/forme/transformers/error_handler.rb +46 -1
  15. data/lib/forme/transformers/formatter.rb +36 -35
  16. data/lib/forme/transformers/helper.rb +0 -1
  17. data/lib/forme/transformers/inputs_wrapper.rb +6 -6
  18. data/lib/forme/transformers/labeler.rb +19 -0
  19. data/lib/forme/transformers/wrapper.rb +1 -1
  20. data/lib/forme/version.rb +2 -2
  21. data/lib/forme.rb +15 -2
  22. data/lib/roda/plugins/forme.rb +1 -1
  23. data/lib/roda/plugins/forme_erubi_capture.rb +62 -0
  24. data/lib/roda/plugins/forme_route_csrf.rb +16 -20
  25. data/lib/roda/plugins/forme_set.rb +177 -0
  26. data/lib/sequel/plugins/forme.rb +42 -55
  27. data/lib/sequel/plugins/forme_i18n.rb +3 -1
  28. data/lib/sequel/plugins/forme_set.rb +50 -28
  29. data/spec/all.rb +1 -1
  30. data/spec/bs3_reference_spec.rb +18 -18
  31. data/spec/bs3_sequel_plugin_spec.rb +7 -7
  32. data/spec/bs3_spec.rb +23 -11
  33. data/spec/erb_helper.rb +73 -58
  34. data/spec/erubi_capture_helper.rb +202 -0
  35. data/spec/forme_spec.rb +80 -29
  36. data/spec/rails_integration_spec.rb +47 -24
  37. data/spec/roda_integration_spec.rb +459 -48
  38. data/spec/sequel_helper.rb +0 -1
  39. data/spec/sequel_i18n_helper.rb +1 -1
  40. data/spec/sequel_i18n_plugin_spec.rb +3 -2
  41. data/spec/sequel_plugin_spec.rb +25 -8
  42. data/spec/sequel_set_plugin_spec.rb +10 -3
  43. data/spec/shared_erb_specs.rb +75 -0
  44. data/spec/sinatra_integration_spec.rb +5 -6
  45. data/spec/spec_helper.rb +23 -5
  46. metadata +30 -8
  47. data/lib/forme/erb_form.rb +0 -74
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: abf3346d90f5f4eddb69a0c0c2a63a2fcee549cf2b928bec7ab8a9505a8135aa
4
- data.tar.gz: 577dccded6b59dae158e5275b7bed4dcb87a9756b29d2e3f367accca1f32313b
3
+ metadata.gz: c2d1410426de24535a3e1734c9b6e050c7125e6c5837a1d5a3e400021ba4b17e
4
+ data.tar.gz: 4ce1754d622e0f87272257b70665fc2eb03c289f2ada6e9a54d444238b4a8095
5
5
  SHA512:
6
- metadata.gz: 35dbc13c7de3c746a229b0f4d6026a0dfc3b8fa9dda3952ae3aa2117c6b1ad843ec07c3c40ab754cd2ae91c3ffea83cb281ee48539b886b48b832f2f1f887bab
7
- data.tar.gz: 39fdd8a5b87777f1fd1831adf05c100624619e7e1cdf09d9e207d8118a8ab154971f6d229d7db1c3141faf423816a68a66b67001fd4e0b29462af2a545493e09
6
+ metadata.gz: 69699bc0f28300df39222a596e7e201e972c969d5562f9af12f641ab6d011fab2576ba547407623c7e39476fd451ede30ef6728c51a15f7ce26a4d3aeb341467
7
+ data.tar.gz: b12a69a0991e97fb665707bdc275b5329f26c7331d35292a315d54cfa45e3ed8a117cf64cea1d0e8df4493a080cc03782a3027111e339e4b08398200cf91b7ef
data/CHANGELOG CHANGED
@@ -1,3 +1,73 @@
1
+ === 2.0.0 (2021-11-30)
2
+
3
+ * Remove Tag#<< method (jeremyevans)
4
+
5
+ * Remove Form#_inputs method (jeremyevans)
6
+
7
+ * Deprecate forme/sinatra and Forme::Sinatra::ERB, switch to forme/erb and Forme::ERB::Helper (jeremyevans)
8
+
9
+ * Deprecate Form :hidden_tags option (jeremyevans)
10
+
11
+ * Add Form#post? for whether the form will submit via POST (jeremyevans)
12
+
13
+ * Add Form#form_tag_attributes for getting the attributes used for the form tag (jeremyevans)
14
+
15
+ * Add :before and :after Form options, as an alternative way to implement hooks (jeremyevans)
16
+
17
+ * Passing a callable as the child of a tag should now not call methods that will modify the related form (such as Form#tag) (jeremyevans)
18
+
19
+ * Change API for _forme_form_options private method used in template integrations (jeremyevans)
20
+
21
+ * Remove Form#{nesting,tag_,raw_output,emit} (jeremyevans)
22
+
23
+ * Make Form#{form,tag,input,inputs} return HTML string (jeremyevans)
24
+
25
+ * Refactor internals, switch template integration to use delegation instead of inheritance (jeremyevans)
26
+
27
+ * Add Roda forme_erubi_capture plugin to support erubi/capture_end <%|= form do %> <%| end %> tags (jeremyevans)
28
+
29
+ * Make bs3 formatter automatically setup aria-invalid and aria-describedby attributes for errors (waiting-for-dev) (#96)
30
+
31
+ * Make bs3 formatter handle form-level :errors key (waiting-for-dev) (#96)
32
+
33
+ * Drop support for Ruby 1.8 (jeremyevans)
34
+
35
+ === 1.12.0 (2021-08-25)
36
+
37
+ * Make forme_set Sequel plugin handle frozen Sequel::Model instances (jeremyevans)
38
+
39
+ * Do not override an error on a field when using the Sequel plugin if :error option is already given (jeremyevans)
40
+
41
+ * Avoid error when creating label text when using Sequel input on non-Sequel form without an explicit :label option (jeremyevans)
42
+
43
+ * Make :select_options option for date/datetime selects support providing both option texts and option values using a 2 element array (jeremyevans)
44
+
45
+ === 1.11.0 (2020-01-03)
46
+
47
+ * Add Roda forme_set plugin, using HMACed form metadata to automatically handle submitted form parameters (jeremyevans)
48
+
49
+ === 1.10.0 (2019-05-13)
50
+
51
+ * Make readonly formatter ignore hidden inputs (jeremyevans)
52
+
53
+ * Add :select_labels for date inputs using :as=>:select to use labels for the inputs for better accessibility (jeremyevans)
54
+
55
+ * Add :after_legend error_handler for adding error message after legend when using :legend labeler (jeremyevans)
56
+
57
+ * Add aria-describedby to all inputs with errors where possible for better accessibility (jeremyevans)
58
+
59
+ * Add aria-invalid to all inputs with errors for better accessibility (jeremyevans)
60
+
61
+ * Support :fieldset wrapper and :legend labeler, can be used for accessible radioset/checkboxset (jeremyevans)
62
+
63
+ * Support :tag_label_attr option for radioset and checkbox set for label attributes for each radio/checkbox label (jeremyevans)
64
+
65
+ * Support custom :error_handler in radioset and checkboxset inputs (jeremyevans)
66
+
67
+ * Support custom :labeler in radioset and checkboxset inputs (jeremyevans)
68
+
69
+ * Avoid calling Proc.new with an implicit block, which is deprecated starting in ruby 2.7 (jeremyevans)
70
+
1
71
  === 1.9.0 (2018-11-16)
2
72
 
3
73
  * Automatically add maxlength attributes to text and textarea inputs in the Sequel plugin based on maximum database column length (jeremyevans)
data/MIT-LICENSE CHANGED
@@ -1,4 +1,4 @@
1
- Copyright (c) 2011-2018 Jeremy Evans
1
+ Copyright (c) 2011-2021 Jeremy Evans
2
2
 
3
3
  Permission is hereby granted, free of charge, to any person obtaining a copy
4
4
  of this software and associated documentation files (the "Software"), to