From aaf6e9494276cf4ec0b434e1297578569ebed837 Mon Sep 17 00:00:00 2001 From: dnoonan Date: Wed, 3 Oct 2012 11:27:12 -0300 Subject: [PATCH] Update README.md --- README.md | 30 ++++++++++++++++++++++++++++-- 1 file changed, 28 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 69c80f6..f960c79 100644 --- a/README.md +++ b/README.md @@ -25,6 +25,14 @@ To support IE6/7 users include jStorage as well //= require jstorage //= require sisyphus +### Create a Configuration File + +You can use the built in generator to create a basic *sisyphus.yml* configuration file. + + $ rails generate sisyphus:configuration + +The file will be placed in *config/* + ## How it Works Sisyphus uses an aliased form_tag method to automatically put a *<script>...</script>* tag infront of your forms to initialize Sisyphus. It also uses an aliased FormHelper form_for method to read options. @@ -33,11 +41,12 @@ Sisyphus uses an aliased form_tag method to automatically put a *<script>.
...
+ ## Usage Sisyphus automatically works with all your forms, including custom form builders. -### Exclude form +### Exclude a form To stop Sisyphus from initializing on a form include the *with_sisyphus* option in your form_for. @@ -45,6 +54,23 @@ To stop Sisyphus from initializing on a form include the *with_sisyphus* option ... <% end %> +### Exclude/Include a model + +To exclude or include a specific model you can enter it in your ENV or the *sisyphus.yml* file. The configuration takes a comma (,) separated string of __lower case__ model names. + + exclude_models: user + include_models: comment,post + +### Include/Exclude everything + +You can also set the *sisyphus_enabled* option to true/false in your ENV or the *sisyphus.yml* file to turn Sisyphus on or off by default. + + sisyphus_enabled: false + +### Putting the switches together + +The switches work together to see if a form should be protected by Sisyphus or not. The *sisyphus_enabled* switch will be used if no other switches are set. If the model is specifically excluded (when *sisyphus_enabled* = true) then it will not be protected. Conversley, if the model is specifically included and *sisyphus_enabled* = false it will be protected. The final say is taken by the form option. If *with_sysphus* is set it's value will be used to determine if the form should be protected or not. + ## Dependencies - Rails >= 3.1 @@ -55,7 +81,7 @@ To stop Sisyphus from initializing on a form include the *with_sisyphus* option - Tests - Move away from form_tag_helper, should be able to do it all from form_helper? Script tag can go at the end anyhow. Why aren't we doing that right now? We don't seem to have access to the same variables that the regular form_for does. Also the options array gets muddied by the FormHelper form_for call -> it removes the [:html] section (we need the id of the form for sisyphus). - conflict resolution... i.e. you have an object edit form, the fields are populated from the DB but if you have local browser changes they may get overridden. We need a way to resolve conflicts between local and remote data -> could use a jquery based modal dialog to present the diff? -- Model based exclusions via activerecord extension? +- Model based exclusions/options via activerecord extension? We have config based exclude/includes now - block based options (this would allow us to easily and neatly implement Sisyphus options) <%= form_for User.new do |f| %>