client_side_validations 3.1.4 → 3.1.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -20,23 +20,16 @@ Gem::Specification.new do |s|
20
20
  s.add_development_dependency 'rails', '~> 3.1.0'
21
21
  s.add_development_dependency 'sqlite3'
22
22
  s.add_development_dependency 'bson_ext'
23
- s.add_development_dependency 'mongoid', '~> 2.0.0'
23
+ s.add_development_dependency 'mongoid', '~> 2.4.0'
24
24
  s.add_development_dependency 'mongo_mapper','~> 0.9.0'
25
25
  s.add_development_dependency 'mocha'
26
26
  s.add_development_dependency 'simple_form', '~> 1.5.0'
27
27
  s.add_development_dependency 'formtastic', '~> 2.0.0'
28
+ s.add_development_dependency 'm'
28
29
 
29
30
  # For QUnit testing
30
31
  s.add_development_dependency 'sinatra', '~> 1.0'
31
32
  s.add_development_dependency 'shotgun'
32
33
  s.add_development_dependency 'thin'
33
34
  s.add_development_dependency 'json'
34
-
35
- ruby_minor_version = RUBY_VERSION.split('.')[1].to_i
36
- if ruby_minor_version == 8
37
- s.add_development_dependency 'minitest'
38
- s.add_development_dependency 'ruby-debug'
39
- elsif ruby_minor_version == 9
40
- s.add_development_dependency 'ruby-debug19'
41
- end
42
35
  end
@@ -72,7 +72,7 @@ module ClientSideValidations::ActionView::Helpers
72
72
 
73
73
  def time_zone_select_with_client_side_validations(method, priority_zones = nil, options = {}, html_options = {})
74
74
  apply_client_side_validators(method, html_options)
75
- time_zone_select_without_client_side_validations(method, priority_zones = nil, options, html_options)
75
+ time_zone_select_without_client_side_validations(method, priority_zones, options, html_options)
76
76
  end
77
77
 
78
78
  private
@@ -5,6 +5,7 @@ module ClientSideValidations::ActiveModel
5
5
 
6
6
  def client_side_hash(model, attribute)
7
7
  options = self.options.dup
8
+ # debugger
8
9
  { :message => model.errors.generate_message(attribute, message_type, options) }.merge(options.except(*::ActiveModel::Errors::CALLBACKS_OPTIONS - [:allow_blank, :if, :unless]))
9
10
  end
10
11
 
@@ -4,6 +4,7 @@ module ClientSideValidations::ActiveRecord
4
4
  hash = {}
5
5
  hash[:message] = model.errors.generate_message(attribute, message_type, options.except(:scope))
6
6
  hash[:case_sensitive] = options[:case_sensitive]
7
+ hash[:allow_blank] = options[:allow_blank] if options.key?(:allow_blank)
7
8
  hash[:id] = model.id unless model.new_record?
8
9
  if options.key?(:scope) && options[:scope].present?
9
10
  hash[:scope] = Array.wrap(options[:scope]).inject({}) do |scope_hash, scope_item|
@@ -4,6 +4,7 @@ module ClientSideValidations::MongoMapper
4
4
  hash = {}
5
5
  hash[:message] = model.errors.generate_message(attribute, message_type, options.except(:scope))
6
6
  hash[:case_sensitive] = options[:case_sensitive] if options.key?(:case_sensitive)
7
+ hash[:allow_blank] = options[:allow_blank] if options.key?(:allow_blank)
7
8
  hash[:id] = model.id unless model.new_record?
8
9
  if options.key?(:scope) && options[:scope].present?
9
10
  hash[:scope] = Array.wrap(options[:scope]).inject({}) do |scope_hash, scope_item|
@@ -1,7 +1,7 @@
1
1
  require 'client_side_validations/active_model'
2
2
  require 'client_side_validations/mongoid/middleware'
3
3
 
4
- %w{uniqueness}.each do |validator|
4
+ %w{format length presence uniqueness}.each do |validator|
5
5
  require "client_side_validations/mongoid/#{validator}"
6
6
  validator.capitalize!
7
7
  eval "Mongoid::Validations::#{validator}Validator.send(:include, ClientSideValidations::Mongoid::#{validator})"
@@ -0,0 +1,10 @@
1
+ module ClientSideValidations::Mongoid
2
+ module Format
3
+ private
4
+
5
+ def message_type
6
+ :invalid
7
+ end
8
+ end
9
+ end
10
+
@@ -0,0 +1,24 @@
1
+ module ClientSideValidations::Mongoid
2
+ module Length
3
+
4
+ def client_side_hash(model, attribute)
5
+ options = self.options.dup
6
+ hash = { :messages => {} }
7
+ hash[:js_tokenizer] = options[:js_tokenizer] if options[:js_tokenizer]
8
+ hash[:allow_blank] = true if options[:allow_blank]
9
+
10
+ self.class::MESSAGES.each do |option, message_type|
11
+ if count = options[option]
12
+ options[:message] = options[message_type]
13
+ options.delete(:message) if options[:message].nil?
14
+ hash[:messages][option] = model.errors.generate_message(attribute, message_type, options.merge(:count => count))
15
+ hash[option] = count
16
+ end
17
+ end
18
+
19
+ hash
20
+ end
21
+
22
+ end
23
+ end
24
+
@@ -0,0 +1,10 @@
1
+ module ClientSideValidations::Mongoid
2
+ module Presence
3
+ private
4
+
5
+ def message_type
6
+ :blank
7
+ end
8
+ end
9
+ end
10
+
@@ -4,6 +4,7 @@ module ClientSideValidations::Mongoid
4
4
  hash = {}
5
5
  hash[:message] = model.errors.generate_message(attribute, message_type, options.except(:scope))
6
6
  hash[:case_sensitive] = options[:case_sensitive] if options.key?(:case_sensitive)
7
+ hash[:allow_blank] = options[:allow_blank] if options.key?(:allow_blank)
7
8
  hash[:id] = model.id unless model.new_record?
8
9
  if options.key?(:scope) && options[:scope].present?
9
10
  hash[:scope] = Array.wrap(options[:scope]).inject({}) do |scope_hash, scope_item|
@@ -1,3 +1,3 @@
1
1
  module ClientSideValidations
2
- VERSION = '3.1.4'
2
+ VERSION = '3.1.5'
3
3
  end
@@ -1,6 +1,6 @@
1
1
  require 'active_model/cases/test_base'
2
2
 
3
- class ActiveModel::InclusionValidatorTest < ClientSideValidations::ActiveModelTestBase
3
+ class ActiveModel::PresenceValidatorTest < ClientSideValidations::ActiveModelTestBase
4
4
 
5
5
  def test_presence_client_side_hash
6
6
  expected_hash = { :message => "can't be blank" }
@@ -46,5 +46,11 @@ class ActiveRecord::UniquenessValidatorTest < ClientSideValidations::ActiveRecor
46
46
  expected_hash = { :message => "has already been taken", :case_sensitive => true, :class => 'active_record_test_module/user2' }
47
47
  assert_equal expected_hash, UniquenessValidator.new(:attributes => [:name]).client_side_hash(@user, :name)
48
48
  end
49
+
50
+ def test_uniqueness_client_side_hash_with_allow_blank
51
+ expected_hash = { :message => "has already been taken", :case_sensitive => true, :allow_blank => true }
52
+ assert_equal expected_hash, UniquenessValidator.new(:attributes => [:name], :allow_blank => true).client_side_hash(@user, :name)
53
+ end
54
+
49
55
  end
50
56
 
data/test/base_helper.rb CHANGED
@@ -2,6 +2,20 @@ require 'rubygems'
2
2
  require 'bundler'
3
3
  Bundler.setup
4
4
  require 'test/unit'
5
+ if RUBY_VERSION >= '1.9.3'
6
+ require 'debugger'
7
+ end
5
8
  require 'mocha'
9
+ require 'rails'
10
+
11
+ # Pulled from railties/test/abstract_unit in Rails 3.1
12
+ module TestApp
13
+ class Application < Rails::Application
14
+ config.root = File.dirname(__FILE__)
15
+ config.active_support.deprecation = :log
16
+ config.logger = Logger.new(STDOUT)
17
+ end
18
+ end
19
+
6
20
 
7
21
  module ClientSideValidations; end
@@ -1,17 +1,6 @@
1
1
  require 'base_helper'
2
2
  require 'action_controller'
3
3
  require 'action_controller/railtie'
4
- require 'rails'
5
-
6
- # Pulled from railties/test/abstract_unit in Rails 3.1
7
- module TestApp
8
- class Application < Rails::Application
9
- config.root = File.dirname(__FILE__)
10
- config.active_support.deprecation = :log
11
- config.logger = Logger.new(STDOUT)
12
- end
13
- end
14
-
15
4
  require 'client_side_validations/middleware'
16
5
  require 'client_side_validations/engine'
17
6
 
@@ -3,7 +3,7 @@ require 'mongo_mapper/cases/test_base'
3
3
  class MongoMapper::UniqunessValidatorTest < ClientSideValidations::MongoMapperTestBase
4
4
 
5
5
  def test_uniqueness_client_side_hash
6
- expected_hash = { :message => "has already been taken" }
6
+ expected_hash = { :message => "has already been taken", :case_sensitive => true }
7
7
  assert_equal expected_hash, UniquenessValidator.new(:attributes => [:name]).client_side_hash(@magazine, :age)
8
8
  end
9
9
 
@@ -12,7 +12,7 @@ class MongoMapper::UniqunessValidatorTest < ClientSideValidations::MongoMapperTe
12
12
  assert_equal expected_hash, UniquenessValidator.new(:attributes => [:name], :message => "is not available").client_side_hash(@magazine, :age)
13
13
  end
14
14
 
15
- def test_uniqueness_client_side_hash
15
+ def test_uniqueness_client_side_hash_with_id
16
16
  @magazine.stubs(:new_record?).returns(false)
17
17
  @magazine.stubs(:id).returns(1)
18
18
  expected_hash = { :message => "has already been taken", :case_sensitive => true , :id => 1 }
@@ -46,5 +46,10 @@ class MongoMapper::UniqunessValidatorTest < ClientSideValidations::MongoMapperTe
46
46
  assert_equal expected_hash, UniquenessValidator.new(:attributes => [:name]).client_side_hash(@magazine, :age)
47
47
  end
48
48
 
49
+ def test_uniqueness_client_side_hash_with_custom_message
50
+ expected_hash = { :message => "has already been taken", :case_sensitive => true, :allow_blank => true }
51
+ assert_equal expected_hash, UniquenessValidator.new(:attributes => [:name], :allow_blank => true).client_side_hash(@magazine, :age)
52
+ end
53
+
49
54
  end
50
55
 
@@ -3,13 +3,9 @@ require 'mongoid'
3
3
  require 'client_side_validations/mongoid'
4
4
 
5
5
  Mongoid.configure do |config|
6
- name = "client_side_validations_development"
7
- host = "localhost"
6
+ name = 'client_side_validations_development'
7
+ host = 'localhost'
8
8
  config.master = Mongo::Connection.new.db(name)
9
- config.slaves = [
10
- Mongo::Connection.new(host).db(name)
11
- ]
12
- config.persist_in_safe_mode = false
13
9
  end
14
10
 
15
11
  require 'mongoid/models/book'
@@ -0,0 +1,21 @@
1
+ require 'mongoid/cases/test_base'
2
+
3
+ class Mongoid::UniqunessValidatorTest < ClientSideValidations::MongoidTestBase
4
+
5
+ def test_format_client_side_hash
6
+ expected_hash = { :message => "is invalid", :with => /.+/ }
7
+ assert_equal expected_hash, FormatValidator.new(:attributes => [:name], :with => /.+/).client_side_hash(@book, :age)
8
+ end
9
+
10
+ def test_format_client_side_hash_without
11
+ expected_hash = { :message => "is invalid", :without => /.+/ }
12
+ assert_equal expected_hash, FormatValidator.new(:attributes => [:name], :without => /.+/).client_side_hash(@book, :age)
13
+ end
14
+
15
+ def test_format_client_side_hash_with_custom_message
16
+ expected_hash = { :message => "is wrong format", :with => /.+/ }
17
+ assert_equal expected_hash, FormatValidator.new(:attributes => [:name], :with => /.+/, :message => "is wrong format").client_side_hash(@book, :age)
18
+ end
19
+
20
+ end
21
+
@@ -0,0 +1,60 @@
1
+ require 'mongoid/cases/test_base'
2
+
3
+ class Mongoid::UniqunessValidatorTest < ClientSideValidations::MongoidTestBase
4
+ def test_length_client_side_hash
5
+ expected_hash = {
6
+ :messages => {
7
+ :is => "is the wrong length (should be 10 characters)"
8
+ },
9
+ :is => 10
10
+ }
11
+ assert_equal expected_hash, LengthValidator.new(:attributes => [:age], :is => 10).client_side_hash(@book, :author_name)
12
+ end
13
+
14
+ def test_length_client_side_hash_with_custom_message
15
+ expected_hash = {
16
+ :messages => {
17
+ :is => "is the wrong length (should be 10 words)"
18
+ },
19
+ :is => 10
20
+ }
21
+ assert_equal expected_hash, LengthValidator.new(:attributes => [:age], :is => 10, :wrong_length => "is the wrong length (should be %{count} words)").client_side_hash(@book, :author_name)
22
+ end
23
+
24
+ def test_length_client_side_hash_with_js_tokenizer
25
+ expected_hash = {
26
+ :messages => {
27
+ :is => "is the wrong length (should be 10 characters)"
28
+ },
29
+ :is => 10,
30
+ :js_tokenizer => %q{match(/\w+/g)}
31
+ }
32
+ assert_equal expected_hash, LengthValidator.new(:attributes => [:age], :is => 10, :tokenizer => proc { |value| value.split(/\w+/) }, :js_tokenizer => %q{match(/\w+/g)}).client_side_hash(@book, :author_name)
33
+ end
34
+
35
+ def test_length_client_side_hash_with_minimum_and_maximum
36
+ expected_hash = {
37
+ :messages => {
38
+ :minimum => "is too short (minimum is 5 characters)",
39
+ :maximum => "is too long (maximum is 10 characters)"
40
+ },
41
+ :minimum => 5,
42
+ :maximum => 10
43
+ }
44
+ assert_equal expected_hash, LengthValidator.new(:attributes => [:age], :minimum => 5, :maximum => 10).client_side_hash(@book, :author_name)
45
+ end
46
+
47
+ def test_length_client_side_hash_with_range
48
+ expected_hash = {
49
+ :messages => {
50
+ :minimum => "is too short (minimum is 5 characters)",
51
+ :maximum => "is too long (maximum is 10 characters)"
52
+ },
53
+ :minimum => 5,
54
+ :maximum => 10
55
+ }
56
+ assert_equal expected_hash, LengthValidator.new(:attributes => [:age], :within => 5..10).client_side_hash(@book, :author_name)
57
+ end
58
+
59
+ end
60
+
@@ -0,0 +1,16 @@
1
+ require 'mongoid/cases/test_base'
2
+
3
+ class Mongoid::UniqunessValidatorTest < ClientSideValidations::MongoidTestBase
4
+
5
+ def test_presence_client_side_hash
6
+ expected_hash = { :message => "can't be blank" }
7
+ assert_equal expected_hash, PresenceValidator.new(:attributes => [:name]).client_side_hash(@book, :age)
8
+ end
9
+
10
+ def test_presence_client_side_hash_with_custom_message
11
+ expected_hash = { :message => "is required" }
12
+ assert_equal expected_hash, PresenceValidator.new(:attributes => [:name], :message => "is required").client_side_hash(@book, :age)
13
+ end
14
+
15
+ end
16
+
@@ -12,7 +12,7 @@ class Mongoid::UniqunessValidatorTest < ClientSideValidations::MongoidTestBase
12
12
  assert_equal expected_hash, UniquenessValidator.new(:attributes => [:name], :message => "is not available").client_side_hash(@book, :age)
13
13
  end
14
14
 
15
- def test_uniqueness_client_side_hash
15
+ def test_uniqueness_client_side_hash_with_id
16
16
  @book.stubs(:new_record?).returns(false)
17
17
  @book.stubs(:id).returns(1)
18
18
  expected_hash = { :message => "is already taken", :id => 1 }
@@ -45,5 +45,10 @@ class Mongoid::UniqunessValidatorTest < ClientSideValidations::MongoidTestBase
45
45
  expected_hash = { :message => "is already taken", :class => 'mongoid_test_module/book2' }
46
46
  assert_equal expected_hash, UniquenessValidator.new(:attributes => [:name]).client_side_hash(@book, :age)
47
47
  end
48
+
49
+ def test_uniqueness_client_side_hash_with_allow_blank
50
+ expected_hash = { :message => "is already taken", :allow_blank => true }
51
+ assert_equal expected_hash, UniquenessValidator.new(:attributes => [:name], :allow_blank => true).client_side_hash(@book, :age)
52
+ end
48
53
  end
49
54
 
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * Rails 3 Client Side Validations - v3.1.4
3
- * https://github.com/bcardarlela/client_side_validations
3
+ * https://github.com/bcardarella/client_side_validations
4
4
  *
5
5
  * Copyright (c) 2011 Brian Cardarella
6
6
  * Licensed under the MIT license
metadata CHANGED
@@ -1,171 +1,231 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: client_side_validations
3
- version: !ruby/object:Gem::Version
3
+ version: !ruby/object:Gem::Version
4
+ version: 3.1.5
4
5
  prerelease:
5
- version: 3.1.4
6
6
  platform: ruby
7
- authors:
7
+ authors:
8
8
  - Brian Cardarella
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
-
13
- date: 2011-12-22 00:00:00 -05:00
14
- default_executable:
15
- dependencies:
16
- - !ruby/object:Gem::Dependency
12
+ date: 2012-10-02 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
17
15
  name: rails
18
- prerelease: false
19
- requirement: &id001 !ruby/object:Gem::Requirement
16
+ requirement: !ruby/object:Gem::Requirement
20
17
  none: false
21
- requirements:
18
+ requirements:
22
19
  - - ~>
23
- - !ruby/object:Gem::Version
20
+ - !ruby/object:Gem::Version
24
21
  version: 3.1.0
25
22
  type: :development
26
- version_requirements: *id001
27
- - !ruby/object:Gem::Dependency
28
- name: sqlite3
29
23
  prerelease: false
30
- requirement: &id002 !ruby/object:Gem::Requirement
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ~>
28
+ - !ruby/object:Gem::Version
29
+ version: 3.1.0
30
+ - !ruby/object:Gem::Dependency
31
+ name: sqlite3
32
+ requirement: !ruby/object:Gem::Requirement
31
33
  none: false
32
- requirements:
33
- - - ">="
34
- - !ruby/object:Gem::Version
35
- version: "0"
34
+ requirements:
35
+ - - ! '>='
36
+ - !ruby/object:Gem::Version
37
+ version: '0'
36
38
  type: :development
37
- version_requirements: *id002
38
- - !ruby/object:Gem::Dependency
39
- name: bson_ext
40
39
  prerelease: false
41
- requirement: &id003 !ruby/object:Gem::Requirement
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: '0'
46
+ - !ruby/object:Gem::Dependency
47
+ name: bson_ext
48
+ requirement: !ruby/object:Gem::Requirement
42
49
  none: false
43
- requirements:
44
- - - ">="
45
- - !ruby/object:Gem::Version
46
- version: "0"
50
+ requirements:
51
+ - - ! '>='
52
+ - !ruby/object:Gem::Version
53
+ version: '0'
47
54
  type: :development
48
- version_requirements: *id003
49
- - !ruby/object:Gem::Dependency
50
- name: mongoid
51
55
  prerelease: false
52
- requirement: &id004 !ruby/object:Gem::Requirement
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ - !ruby/object:Gem::Dependency
63
+ name: mongoid
64
+ requirement: !ruby/object:Gem::Requirement
53
65
  none: false
54
- requirements:
66
+ requirements:
55
67
  - - ~>
56
- - !ruby/object:Gem::Version
57
- version: 2.0.0
68
+ - !ruby/object:Gem::Version
69
+ version: 2.4.0
58
70
  type: :development
59
- version_requirements: *id004
60
- - !ruby/object:Gem::Dependency
61
- name: mongo_mapper
62
71
  prerelease: false
63
- requirement: &id005 !ruby/object:Gem::Requirement
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ~>
76
+ - !ruby/object:Gem::Version
77
+ version: 2.4.0
78
+ - !ruby/object:Gem::Dependency
79
+ name: mongo_mapper
80
+ requirement: !ruby/object:Gem::Requirement
64
81
  none: false
65
- requirements:
82
+ requirements:
66
83
  - - ~>
67
- - !ruby/object:Gem::Version
84
+ - !ruby/object:Gem::Version
68
85
  version: 0.9.0
69
86
  type: :development
70
- version_requirements: *id005
71
- - !ruby/object:Gem::Dependency
72
- name: mocha
73
87
  prerelease: false
74
- requirement: &id006 !ruby/object:Gem::Requirement
88
+ version_requirements: !ruby/object:Gem::Requirement
75
89
  none: false
76
- requirements:
77
- - - ">="
78
- - !ruby/object:Gem::Version
79
- version: "0"
90
+ requirements:
91
+ - - ~>
92
+ - !ruby/object:Gem::Version
93
+ version: 0.9.0
94
+ - !ruby/object:Gem::Dependency
95
+ name: mocha
96
+ requirement: !ruby/object:Gem::Requirement
97
+ none: false
98
+ requirements:
99
+ - - ! '>='
100
+ - !ruby/object:Gem::Version
101
+ version: '0'
80
102
  type: :development
81
- version_requirements: *id006
82
- - !ruby/object:Gem::Dependency
83
- name: simple_form
84
103
  prerelease: false
85
- requirement: &id007 !ruby/object:Gem::Requirement
104
+ version_requirements: !ruby/object:Gem::Requirement
105
+ none: false
106
+ requirements:
107
+ - - ! '>='
108
+ - !ruby/object:Gem::Version
109
+ version: '0'
110
+ - !ruby/object:Gem::Dependency
111
+ name: simple_form
112
+ requirement: !ruby/object:Gem::Requirement
86
113
  none: false
87
- requirements:
114
+ requirements:
88
115
  - - ~>
89
- - !ruby/object:Gem::Version
116
+ - !ruby/object:Gem::Version
90
117
  version: 1.5.0
91
118
  type: :development
92
- version_requirements: *id007
93
- - !ruby/object:Gem::Dependency
94
- name: formtastic
95
119
  prerelease: false
96
- requirement: &id008 !ruby/object:Gem::Requirement
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ none: false
122
+ requirements:
123
+ - - ~>
124
+ - !ruby/object:Gem::Version
125
+ version: 1.5.0
126
+ - !ruby/object:Gem::Dependency
127
+ name: formtastic
128
+ requirement: !ruby/object:Gem::Requirement
97
129
  none: false
98
- requirements:
130
+ requirements:
99
131
  - - ~>
100
- - !ruby/object:Gem::Version
132
+ - !ruby/object:Gem::Version
101
133
  version: 2.0.0
102
134
  type: :development
103
- version_requirements: *id008
104
- - !ruby/object:Gem::Dependency
105
- name: sinatra
106
135
  prerelease: false
107
- requirement: &id009 !ruby/object:Gem::Requirement
136
+ version_requirements: !ruby/object:Gem::Requirement
108
137
  none: false
109
- requirements:
138
+ requirements:
110
139
  - - ~>
111
- - !ruby/object:Gem::Version
112
- version: "1.0"
140
+ - !ruby/object:Gem::Version
141
+ version: 2.0.0
142
+ - !ruby/object:Gem::Dependency
143
+ name: m
144
+ requirement: !ruby/object:Gem::Requirement
145
+ none: false
146
+ requirements:
147
+ - - ! '>='
148
+ - !ruby/object:Gem::Version
149
+ version: '0'
113
150
  type: :development
114
- version_requirements: *id009
115
- - !ruby/object:Gem::Dependency
116
- name: shotgun
117
151
  prerelease: false
118
- requirement: &id010 !ruby/object:Gem::Requirement
152
+ version_requirements: !ruby/object:Gem::Requirement
153
+ none: false
154
+ requirements:
155
+ - - ! '>='
156
+ - !ruby/object:Gem::Version
157
+ version: '0'
158
+ - !ruby/object:Gem::Dependency
159
+ name: sinatra
160
+ requirement: !ruby/object:Gem::Requirement
119
161
  none: false
120
- requirements:
121
- - - ">="
122
- - !ruby/object:Gem::Version
123
- version: "0"
162
+ requirements:
163
+ - - ~>
164
+ - !ruby/object:Gem::Version
165
+ version: '1.0'
124
166
  type: :development
125
- version_requirements: *id010
126
- - !ruby/object:Gem::Dependency
127
- name: thin
128
167
  prerelease: false
129
- requirement: &id011 !ruby/object:Gem::Requirement
168
+ version_requirements: !ruby/object:Gem::Requirement
169
+ none: false
170
+ requirements:
171
+ - - ~>
172
+ - !ruby/object:Gem::Version
173
+ version: '1.0'
174
+ - !ruby/object:Gem::Dependency
175
+ name: shotgun
176
+ requirement: !ruby/object:Gem::Requirement
130
177
  none: false
131
- requirements:
132
- - - ">="
133
- - !ruby/object:Gem::Version
134
- version: "0"
178
+ requirements:
179
+ - - ! '>='
180
+ - !ruby/object:Gem::Version
181
+ version: '0'
135
182
  type: :development
136
- version_requirements: *id011
137
- - !ruby/object:Gem::Dependency
138
- name: json
139
183
  prerelease: false
140
- requirement: &id012 !ruby/object:Gem::Requirement
184
+ version_requirements: !ruby/object:Gem::Requirement
141
185
  none: false
142
- requirements:
143
- - - ">="
144
- - !ruby/object:Gem::Version
145
- version: "0"
186
+ requirements:
187
+ - - ! '>='
188
+ - !ruby/object:Gem::Version
189
+ version: '0'
190
+ - !ruby/object:Gem::Dependency
191
+ name: thin
192
+ requirement: !ruby/object:Gem::Requirement
193
+ none: false
194
+ requirements:
195
+ - - ! '>='
196
+ - !ruby/object:Gem::Version
197
+ version: '0'
146
198
  type: :development
147
- version_requirements: *id012
148
- - !ruby/object:Gem::Dependency
149
- name: ruby-debug19
150
199
  prerelease: false
151
- requirement: &id013 !ruby/object:Gem::Requirement
200
+ version_requirements: !ruby/object:Gem::Requirement
201
+ none: false
202
+ requirements:
203
+ - - ! '>='
204
+ - !ruby/object:Gem::Version
205
+ version: '0'
206
+ - !ruby/object:Gem::Dependency
207
+ name: json
208
+ requirement: !ruby/object:Gem::Requirement
152
209
  none: false
153
- requirements:
154
- - - ">="
155
- - !ruby/object:Gem::Version
156
- version: "0"
210
+ requirements:
211
+ - - ! '>='
212
+ - !ruby/object:Gem::Version
213
+ version: '0'
157
214
  type: :development
158
- version_requirements: *id013
215
+ prerelease: false
216
+ version_requirements: !ruby/object:Gem::Requirement
217
+ none: false
218
+ requirements:
219
+ - - ! '>='
220
+ - !ruby/object:Gem::Version
221
+ version: '0'
159
222
  description: Client Side Validations
160
- email:
223
+ email:
161
224
  - bcardarella@gmail.com
162
225
  executables: []
163
-
164
226
  extensions: []
165
-
166
227
  extra_rdoc_files: []
167
-
168
- files:
228
+ files:
169
229
  - client_side_validations.gemspec
170
230
  - lib/client_side_validations.rb
171
231
  - lib/client_side_validations/action_view.rb
@@ -194,7 +254,10 @@ files:
194
254
  - lib/client_side_validations/mongo_mapper/middleware.rb
195
255
  - lib/client_side_validations/mongo_mapper/uniqueness.rb
196
256
  - lib/client_side_validations/mongoid.rb
257
+ - lib/client_side_validations/mongoid/format.rb
258
+ - lib/client_side_validations/mongoid/length.rb
197
259
  - lib/client_side_validations/mongoid/middleware.rb
260
+ - lib/client_side_validations/mongoid/presence.rb
198
261
  - lib/client_side_validations/mongoid/uniqueness.rb
199
262
  - lib/client_side_validations/simple_form.rb
200
263
  - lib/client_side_validations/version.rb
@@ -273,42 +336,47 @@ files:
273
336
  - test/mongo_mapper/models/magazine.rb
274
337
  - test/mongoid/cases/helper.rb
275
338
  - test/mongoid/cases/test_base.rb
339
+ - test/mongoid/cases/test_format_validator.rb
340
+ - test/mongoid/cases/test_length_validator.rb
276
341
  - test/mongoid/cases/test_middleware.rb
342
+ - test/mongoid/cases/test_presence_validator.rb
277
343
  - test/mongoid/cases/test_uniqueness_validator.rb
278
344
  - test/mongoid/models/book.rb
279
345
  - test/simple_form/cases/helper.rb
280
346
  - test/simple_form/cases/test_form_builder.rb
281
347
  - test/simple_form/cases/test_form_helper.rb
282
348
  - test/test_loader.rb
283
- has_rdoc: true
284
349
  homepage: https://github.com/bcardarella/client_side_validations
285
350
  licenses: []
286
-
287
351
  post_install_message:
288
352
  rdoc_options: []
289
-
290
- require_paths:
353
+ require_paths:
291
354
  - lib
292
- required_ruby_version: !ruby/object:Gem::Requirement
355
+ required_ruby_version: !ruby/object:Gem::Requirement
293
356
  none: false
294
- requirements:
295
- - - ">="
296
- - !ruby/object:Gem::Version
297
- version: "0"
298
- required_rubygems_version: !ruby/object:Gem::Requirement
357
+ requirements:
358
+ - - ! '>='
359
+ - !ruby/object:Gem::Version
360
+ version: '0'
361
+ segments:
362
+ - 0
363
+ hash: -1444017508037657570
364
+ required_rubygems_version: !ruby/object:Gem::Requirement
299
365
  none: false
300
- requirements:
301
- - - ">="
302
- - !ruby/object:Gem::Version
303
- version: "0"
366
+ requirements:
367
+ - - ! '>='
368
+ - !ruby/object:Gem::Version
369
+ version: '0'
370
+ segments:
371
+ - 0
372
+ hash: -1444017508037657570
304
373
  requirements: []
305
-
306
374
  rubyforge_project:
307
- rubygems_version: 1.3.9.3
375
+ rubygems_version: 1.8.23
308
376
  signing_key:
309
377
  specification_version: 3
310
378
  summary: Client Side Validations
311
- test_files:
379
+ test_files:
312
380
  - test/action_view/cases/helper.rb
313
381
  - test/action_view/cases/test_helpers.rb
314
382
  - test/action_view/cases/test_legacy_helpers.rb
@@ -378,7 +446,10 @@ test_files:
378
446
  - test/mongo_mapper/models/magazine.rb
379
447
  - test/mongoid/cases/helper.rb
380
448
  - test/mongoid/cases/test_base.rb
449
+ - test/mongoid/cases/test_format_validator.rb
450
+ - test/mongoid/cases/test_length_validator.rb
381
451
  - test/mongoid/cases/test_middleware.rb
452
+ - test/mongoid/cases/test_presence_validator.rb
382
453
  - test/mongoid/cases/test_uniqueness_validator.rb
383
454
  - test/mongoid/models/book.rb
384
455
  - test/simple_form/cases/helper.rb