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.
- checksums.yaml +4 -4
- data/README.md +12 -7
- data/lib/client_side_validations.rb +12 -0
- data/lib/client_side_validations/action_view.rb +13 -0
- data/lib/client_side_validations/action_view/form_builder.rb +105 -0
- data/lib/{rails4_client_side_validations → client_side_validations}/action_view/form_helper.rb +13 -17
- data/lib/client_side_validations/action_view/form_tag_helper.rb +11 -0
- data/lib/{rails4_client_side_validations → client_side_validations}/active_model.rb +31 -9
- data/lib/{rails4_client_side_validations → client_side_validations}/active_model/absence.rb +1 -2
- data/lib/{rails4_client_side_validations → client_side_validations}/active_model/acceptance.rb +1 -2
- data/lib/client_side_validations/active_model/exclusion.rb +7 -0
- data/lib/{rails4_client_side_validations → client_side_validations}/active_model/format.rb +1 -2
- data/lib/client_side_validations/active_model/inclusion.rb +7 -0
- data/lib/{rails4_client_side_validations → client_side_validations}/active_model/length.rb +3 -4
- data/lib/{rails4_client_side_validations → client_side_validations}/active_model/numericality.rb +3 -4
- data/lib/{rails4_client_side_validations → client_side_validations}/active_model/presence.rb +1 -2
- data/lib/client_side_validations/active_record.rb +12 -0
- data/lib/{rails4_client_side_validations → client_side_validations}/active_record/middleware.rb +10 -6
- data/lib/{rails4_client_side_validations → client_side_validations}/active_record/uniqueness.rb +8 -6
- data/lib/{rails4_client_side_validations → client_side_validations}/config.rb +1 -1
- data/lib/client_side_validations/core_ext.rb +3 -0
- data/lib/{rails4_client_side_validations → client_side_validations}/core_ext/range.rb +0 -1
- data/lib/client_side_validations/core_ext/regexp.rb +25 -0
- data/lib/client_side_validations/engine.rb +5 -0
- data/lib/{rails4_client_side_validations → client_side_validations}/files.rb +2 -2
- data/lib/{rails4_client_side_validations → client_side_validations}/generators.rb +2 -3
- data/lib/client_side_validations/generators/rails_validations.rb +14 -0
- data/lib/{rails4_client_side_validations → client_side_validations}/middleware.rb +61 -16
- data/lib/client_side_validations/version.rb +3 -0
- data/lib/generators/{rails4_client_side_validations → client_side_validations}/copy_assets_generator.rb +3 -5
- data/lib/generators/client_side_validations/install_generator.rb +21 -0
- data/lib/generators/templates/{rails4_client_side_validations → client_side_validations}/initializer.rb +4 -4
- data/vendor/assets/javascripts/rails.validations.js +111 -98
- metadata +141 -81
- data/lib/generators/rails4_client_side_validations/install_generator.rb +0 -22
- data/lib/rails4_client_side_validations.rb +0 -13
- data/lib/rails4_client_side_validations/action_view.rb +0 -14
- data/lib/rails4_client_side_validations/action_view/form_builder.rb +0 -105
- data/lib/rails4_client_side_validations/action_view/form_tag_helper.rb +0 -12
- data/lib/rails4_client_side_validations/active_model/exclusion.rb +0 -27
- data/lib/rails4_client_side_validations/active_model/inclusion.rb +0 -26
- data/lib/rails4_client_side_validations/active_record.rb +0 -12
- data/lib/rails4_client_side_validations/core_ext.rb +0 -3
- data/lib/rails4_client_side_validations/core_ext/regexp.rb +0 -13
- data/lib/rails4_client_side_validations/engine.rb +0 -6
- data/lib/rails4_client_side_validations/generators/rails_validations.rb +0 -15
- 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,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,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
|
-
|