realtime-validations 0.0.3 → 0.0.4

Sign up to get free protection for your applications and to get access to all the features.
data/README.rdoc CHANGED
@@ -1,3 +1,67 @@
1
- = RealtimeValidations
1
+ = Realtime Validations for Rails
2
2
 
3
- This project rocks and uses MIT-LICENSE.
3
+ Gem that is able to run validations on models while the form is being filled by the user.
4
+
5
+ == Why
6
+
7
+ It is smart in the sense that is able to fulfill almost any kind of validation. For instance, if
8
+ configured properly, it can run even validations that are :scoped by some other model.
9
+
10
+ Also, it allows to add some information based on the current session, user, client... so the model
11
+ to be created or edited can be linked to that session, user or client.
12
+
13
+ It is very generic and is not tied to any specific case of use.
14
+
15
+ == How it works
16
+
17
+ It is installed a listener on every field of the form to be validated, so when the user leaves the
18
+ field, a petition is made to the server. The server (the ValidationsController class) will then create
19
+ a new model of that type, or will find the current one (if it is an edit/update operation). Then,
20
+ the property that was edited by the user is set to this recently created model instance. Right
21
+ afterwards, it is called a helper that will allow you (the developer) to set some special fields
22
+ that have importance to you, as the session, current client or current user, in order to be able to
23
+ correctly process all validations, even those that are scoped on the current user, for example. After
24
+ calling your helper, the valid? method is called on the model; the errors[:field_name] is retrieved
25
+ and returned to the client, for the JQuery code to process and modify the DOM.
26
+
27
+ == Setup
28
+
29
+ === Gemfile
30
+
31
+ require 'realtime-validations'
32
+
33
+ === Running generators
34
+
35
+ rails g realtime_validations realtime_validations
36
+
37
+ Read more about what the generators do on the Wiki pages.
38
+
39
+ === Putting everything together
40
+
41
+ === Application Layout
42
+
43
+ Include javascripts and stylesheets (optionally) from the engine in your layout file:
44
+
45
+ <%= stylesheet_link_tag 'application', 'realtime_validations/core' %>
46
+ <%= javascript_include_tag 'application', 'realtime_validations/core' %>
47
+
48
+ ==== Views
49
+
50
+ You should use:
51
+
52
+ form_validated_for
53
+
54
+ === Check if the engine is correctly imported
55
+
56
+ Run:
57
+
58
+ rake routes
59
+
60
+ and check if it contains a route for:
61
+
62
+ POST /validations/*args(.:format) realtime_validations/validations#validate
63
+
64
+ === Examples
65
+
66
+ https://github.com/ereslibre/realtime-validations-examples contains some examples that can
67
+ be of use if you are starting to use this gem.
@@ -0,0 +1,20 @@
1
+ require 'rails/generators'
2
+
3
+ module RealtimeValidations
4
+
5
+ module Generators
6
+
7
+ class InstallGenerator < Rails::Generators::Base
8
+
9
+ source_root File.join(File.dirname(__FILE__), 'templates')
10
+
11
+ def copy_initializer_file
12
+ copy_file 'initializer.rb', 'config/initializers/realtime_validations_initializer.rb'
13
+ copy_file 'realtime_validations.js', 'app/assets/javascripts/realtime_validations.js'
14
+ end
15
+
16
+ end
17
+
18
+ end
19
+
20
+ end
@@ -1,3 +1,3 @@
1
1
  module RealtimeValidations
2
- VERSION = "0.0.3"
2
+ VERSION = "0.0.4"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: realtime-validations
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.4
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -13,7 +13,7 @@ date: 2011-12-30 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rails
16
- requirement: &16323340 !ruby/object:Gem::Requirement
16
+ requirement: &8517220 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: 3.1.3
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *16323340
24
+ version_requirements: *8517220
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: sqlite3
27
- requirement: &16322860 !ruby/object:Gem::Requirement
27
+ requirement: &8516800 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,7 +32,7 @@ dependencies:
32
32
  version: '0'
33
33
  type: :development
34
34
  prerelease: false
35
- version_requirements: *16322860
35
+ version_requirements: *8516800
36
36
  description: Form real time validations for free on Rails applications
37
37
  email:
38
38
  - ereslibre@gmail.com
@@ -47,9 +47,9 @@ files:
47
47
  - config/initializers/form_validated_for.rb
48
48
  - lib/realtime-validations.rb
49
49
  - lib/realtime-validations/version.rb
50
+ - lib/generators/realtime_validations/install_generator.rb
50
51
  - lib/generators/realtime_validations/templates/initializer.rb
51
52
  - lib/generators/realtime_validations/templates/realtime_validations.js
52
- - lib/generators/realtime_validations/realtime_validations_generator.rb
53
53
  - lib/tasks/realtime-validations_tasks.rake
54
54
  - MIT-LICENSE
55
55
  - Rakefile
@@ -1,12 +0,0 @@
1
- require 'rails/generators'
2
-
3
- class RealtimeValidationsGenerator < Rails::Generators::NamedBase
4
-
5
- source_root File.join(File.dirname(__FILE__), 'templates')
6
-
7
- def copy_initializer_file
8
- copy_file 'initializer.rb', 'config/initializers/realtime_validations_initializer.rb'
9
- copy_file 'realtime_validations.js', 'app/assets/javascripts/realtime_validations.js'
10
- end
11
-
12
- end