client_side_validations 3.1.4 → 3.1.5

Sign up to get free protection for your applications and to get access to all the features.
@@ -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