…them similarly to other *_to_many associations These weren't supported before because Forme doesn't handle unrecognized association types. The only code change is that the field used should be the :key option for the association, since that specifies the column containing the array of associated values.
… can be used to pass options to the InputsWrapper Previously, there was no way to pass explicit options to the InputsWrapper when using :grid, so you couldn't set specific classes on the table created.
…for error message span
…ying the label position Forme doesn't automatically add colons when using the explicit labeler, it assumes they will be added via a CSS :after content setting. However, in general you'll only want to add colons if the label comes before the input, not after. So this makes it easy to use the appropriate CSS selector to only add the colons where they should be added.
…s if method is post Previously, the hidden tags with the CSRF support would not be used if there wasn't a block given, but that's definitely not the desired behavior.
… you don't need to use extend(Forme::Raw) Code that requires Object#extend at runtime is really bad form, so add a string subclass that includes Forme::Raw to disable html escaping.
…o disable default transformer I believe this used to work, but there wasn't a spec for it. I'm guessing the changes made between 0.9 and 0.10 broke it.
Just warn if they aren't install, continue running other specs.
…ific Still keep the forme/sinatra file for backwards compatibility.
This makes Forme::Form.new delegate to a subclass if there is an object given and that object implements forme_form_class.
This makes the Rails integration use this, which simplifies some of the Rails code and should make integration with other web frameworks with automatic html escaping easier.
This is for consistency with all of the other inputs.