rails4_client_side_validations 0.0.4 → 4.2.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/README.md +12 -7
  3. data/lib/client_side_validations.rb +12 -0
  4. data/lib/client_side_validations/action_view.rb +13 -0
  5. data/lib/client_side_validations/action_view/form_builder.rb +105 -0
  6. data/lib/{rails4_client_side_validations → client_side_validations}/action_view/form_helper.rb +13 -17
  7. data/lib/client_side_validations/action_view/form_tag_helper.rb +11 -0
  8. data/lib/{rails4_client_side_validations → client_side_validations}/active_model.rb +31 -9
  9. data/lib/{rails4_client_side_validations → client_side_validations}/active_model/absence.rb +1 -2
  10. data/lib/{rails4_client_side_validations → client_side_validations}/active_model/acceptance.rb +1 -2
  11. data/lib/client_side_validations/active_model/exclusion.rb +7 -0
  12. data/lib/{rails4_client_side_validations → client_side_validations}/active_model/format.rb +1 -2
  13. data/lib/client_side_validations/active_model/inclusion.rb +7 -0
  14. data/lib/{rails4_client_side_validations → client_side_validations}/active_model/length.rb +3 -4
  15. data/lib/{rails4_client_side_validations → client_side_validations}/active_model/numericality.rb +3 -4
  16. data/lib/{rails4_client_side_validations → client_side_validations}/active_model/presence.rb +1 -2
  17. data/lib/client_side_validations/active_record.rb +12 -0
  18. data/lib/{rails4_client_side_validations → client_side_validations}/active_record/middleware.rb +10 -6
  19. data/lib/{rails4_client_side_validations → client_side_validations}/active_record/uniqueness.rb +8 -6
  20. data/lib/{rails4_client_side_validations → client_side_validations}/config.rb +1 -1
  21. data/lib/client_side_validations/core_ext.rb +3 -0
  22. data/lib/{rails4_client_side_validations → client_side_validations}/core_ext/range.rb +0 -1
  23. data/lib/client_side_validations/core_ext/regexp.rb +25 -0
  24. data/lib/client_side_validations/engine.rb +5 -0
  25. data/lib/{rails4_client_side_validations → client_side_validations}/files.rb +2 -2
  26. data/lib/{rails4_client_side_validations → client_side_validations}/generators.rb +2 -3
  27. data/lib/client_side_validations/generators/rails_validations.rb +14 -0
  28. data/lib/{rails4_client_side_validations → client_side_validations}/middleware.rb +61 -16
  29. data/lib/client_side_validations/version.rb +3 -0
  30. data/lib/generators/{rails4_client_side_validations → client_side_validations}/copy_assets_generator.rb +3 -5
  31. data/lib/generators/client_side_validations/install_generator.rb +21 -0
  32. data/lib/generators/templates/{rails4_client_side_validations → client_side_validations}/initializer.rb +4 -4
  33. data/vendor/assets/javascripts/rails.validations.js +111 -98
  34. metadata +141 -81
  35. data/lib/generators/rails4_client_side_validations/install_generator.rb +0 -22
  36. data/lib/rails4_client_side_validations.rb +0 -13
  37. data/lib/rails4_client_side_validations/action_view.rb +0 -14
  38. data/lib/rails4_client_side_validations/action_view/form_builder.rb +0 -105
  39. data/lib/rails4_client_side_validations/action_view/form_tag_helper.rb +0 -12
  40. data/lib/rails4_client_side_validations/active_model/exclusion.rb +0 -27
  41. data/lib/rails4_client_side_validations/active_model/inclusion.rb +0 -26
  42. data/lib/rails4_client_side_validations/active_record.rb +0 -12
  43. data/lib/rails4_client_side_validations/core_ext.rb +0 -3
  44. data/lib/rails4_client_side_validations/core_ext/regexp.rb +0 -13
  45. data/lib/rails4_client_side_validations/engine.rb +0 -6
  46. data/lib/rails4_client_side_validations/generators/rails_validations.rb +0 -15
  47. data/lib/rails4_client_side_validations/version.rb +0 -3
@@ -1,12 +0,0 @@
1
- module Rails4ClientSideValidations::ActionView::Helpers
2
- module FormTagHelper
3
- private
4
- def html_options_for_form(url_for_options, options, *parameters_for_url)
5
- options.stringify_keys!
6
- html_options = {}
7
- html_options['data-validate'] = options.delete('validate') if options['validate']
8
- html_options.merge!(super(url_for_options, options, *parameters_for_url))
9
- end
10
- end
11
- end
12
-
@@ -1,27 +0,0 @@
1
- module Rails4ClientSideValidations::ActiveModel
2
- module Exclusion
3
-
4
- def client_side_hash(model, attribute, force = nil)
5
- if options[:in].respond_to?(:call)
6
- if force
7
- options = self.options.dup
8
- options[:in] = options[:in].call(model)
9
- hash = build_client_side_hash(model, attribute, options)
10
- else
11
- return
12
- end
13
- else
14
- hash = build_client_side_hash(model, attribute, self.options.dup)
15
- end
16
-
17
- if hash[:in].is_a?(Range)
18
- hash[:range] = hash[:in]
19
- hash.delete(:in)
20
- end
21
-
22
- hash
23
- end
24
-
25
- end
26
- end
27
-
@@ -1,26 +0,0 @@
1
- module Rails4ClientSideValidations::ActiveModel
2
- module Inclusion
3
-
4
- def client_side_hash(model, attribute, force = nil)
5
- if options[:in].respond_to?(:call)
6
- if force
7
- options = self.options.dup
8
- options[:in] = options[:in].call(model)
9
- hash = build_client_side_hash(model, attribute, options)
10
- else
11
- return
12
- end
13
- else
14
- hash = build_client_side_hash(model, attribute, self.options.dup)
15
- end
16
-
17
- if hash[:in].is_a?(Range)
18
- hash[:range] = hash[:in]
19
- hash.delete(:in)
20
- end
21
- hash
22
- end
23
-
24
- end
25
- end
26
-
@@ -1,12 +0,0 @@
1
- require 'rails4_client_side_validations/active_model'
2
- require 'rails4_client_side_validations/middleware'
3
- require 'rails4_client_side_validations/active_record/middleware'
4
-
5
- %w{uniqueness}.each do |validator|
6
- require "rails4_client_side_validations/active_record/#{validator}"
7
- validator.capitalize!
8
- eval "ActiveRecord::Validations::#{validator}Validator.send(:include, Rails4ClientSideValidations::ActiveRecord::#{validator})"
9
- end
10
-
11
- ActiveRecord::Base.send(:include, Rails4ClientSideValidations::ActiveModel::Validations)
12
- Rails4ClientSideValidations::Middleware::Uniqueness.register_orm(Rails4ClientSideValidations::ActiveRecord::Middleware)
@@ -1,3 +0,0 @@
1
- require 'active_support/json'
2
- require 'rails4_client_side_validations/core_ext/range'
3
- require 'rails4_client_side_validations/core_ext/regexp'
@@ -1,13 +0,0 @@
1
- class Regexp
2
- def as_json(options = nil)
3
- Regexp.new inspect.sub('\\A','^').sub('\\Z','$').sub('\\z','$').sub(/^\//,'').sub(/\/[a-z]*$/,'').gsub(/\(\?#.+\)/, '').gsub(/\(\?-\w+:/,'(').gsub(/\s/,''), self.options & 5
4
- end
5
-
6
- def to_json(options = nil)
7
- as_json(options).inspect
8
- end
9
-
10
- def encode_json(encoder)
11
- inspect
12
- end
13
- end
@@ -1,6 +0,0 @@
1
- module Rails4ClientSideValidations
2
- class Engine < ::Rails::Engine
3
- config.app_middleware.use Rails4ClientSideValidations::Middleware::Validators
4
- end
5
- end
6
-
@@ -1,15 +0,0 @@
1
- module Rails4ClientSideValidations
2
- module Generators
3
- class RailsValidations
4
- def self.assets
5
- [{
6
- :path => File.expand_path('../../../../vendor/assets/javascripts', __FILE__),
7
- :file => 'rails.validations.js'
8
- }]
9
- end
10
-
11
- Generators.register_assets(self)
12
- end
13
- end
14
- end
15
-
@@ -1,3 +0,0 @@
1
- module Rails4ClientSideValidations
2
- VERSION = '0.0.4'
3
- end