client_side_validations-mongoid 3.1.0 → 4.0.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 55df45e645f548fda4ea18c4beacf253c8649acf
4
+ data.tar.gz: c7893a1a2d782b13521a90b15f711ec01f1833d2
5
+ SHA512:
6
+ metadata.gz: 7aeb53ed7e59c2c55cde6e43c63fb9fc44c160f01356681aa8720c5e6b59e76e325ec62dd07d2c55ff493fb8a4eef5db0877938aa7b4653b816446ec20a71eb5
7
+ data.tar.gz: d9b51618e1378b76ed2012cabed9333e59c5d4d39b975b7d40fe1f6e0c7d6702343ec3789d24da68ad4366da864c17e790e865043a836b75d3ba2270e5451f1c
data/README.md ADDED
@@ -0,0 +1,71 @@
1
+ # ClientSideValidations-Mongoid #
2
+
3
+ [![Gem Version](https://badge.fury.io/rb/client_side_validations-mongoid.svg)](http://badge.fury.io/rb/client_side_validations-mongoid)
4
+ [![Build Status](https://secure.travis-ci.org/DavyJonesLocker/client_side_validations-mongoid.svg?branch=master)](https://travis-ci.org/DavyJonesLocker/client_side_validations-mongoid)
5
+ [![Dependency Status](https://gemnasium.com/DavyJonesLocker/client_side_validations-mongoid.svg)](https://gemnasium.com/DavyJonesLocker/client_side_validations-mongoid)
6
+ [![Code Climate](https://codeclimate.com/github/DavyJonesLocker/client_side_validations-mongoid/badges/gpa.svg)](https://codeclimate.com/github/DavyJonesLocker/client_side_validations-mongoid)
7
+ [![Coverage Status](https://coveralls.io/repos/DavyJonesLocker/client_side_validations-mongoid/badge.svg?branch=master)](https://coveralls.io/r/DavyJonesLocker/client_side_validations-mongoid?branch=master)
8
+
9
+ [Mongoid](https://github.com/plataformatec/mongoid) plugin for [ClientSideValidations](https://github.com/DavyJonesLocker/client_side_validations)
10
+
11
+ ## Installation ##
12
+
13
+ In your Gemfile add the following:
14
+
15
+ ```ruby
16
+ gem 'mongoid'
17
+ gem 'client_side_validations'
18
+ gem 'client_side_validations-mongoid'
19
+ ```
20
+
21
+ Order matters here. `Mongoid` and `ClientSideValidations` need to be
22
+ required **before** `ClientSideValidations-Mongoid`.
23
+
24
+ [Follow the remaining installation instructions for ClientSideValidations](https://github.com/DavyJonesLocker/client_side_validations/blob/master/README.md)
25
+
26
+ ## Usage ##
27
+
28
+ The usage is the same as `ClientSideValidations`, just pass `validate: true` to the form builder
29
+
30
+ ```ruby
31
+ <%= form_for @book, validate: true do |book| %>
32
+ <%= book.input :name %>
33
+ <% end %>
34
+ ```
35
+
36
+ Per-input options are done with `:validate`
37
+
38
+ ```ruby
39
+ <%= book.input :name, validate: { presence: true, uniqueness: false }
40
+ ```
41
+
42
+ ## Authors ##
43
+
44
+ [Brian Cardarella](http://twitter.com/bcardarella)
45
+
46
+ [Geremia Taglialatela](http://twitter.com/gtagliala)
47
+
48
+ [We are very thankful for the many contributors](https://github.com/DavyJonesLocker/client_side_validations-mongoid/graphs/contributors)
49
+
50
+ ## Versioning ##
51
+
52
+ This gem follows [Semantic Versioning](http://semver.org)
53
+
54
+ Major and minor version numbers will follow `mongoid`'s major and
55
+ minor version numbers. For example,
56
+ `client_side_validations-mongoid-4.0.0` will be compatible up to
57
+ `~> mongoid-4.0.0`
58
+
59
+ ## Want to help? ##
60
+
61
+ Please do! We are always looking to improve this gem. Please see our
62
+ [Contribution Guidelines](https://github.com/DavyJonesLocker/client_side_validations-mongoid/blob/master/CONTRIBUTING.md)
63
+ on how to properly submit issues and pull requests.
64
+
65
+ ## Legal ##
66
+
67
+ [DockYard](http://dockyard.com), LLC &copy; 2012-2015
68
+
69
+ [@dockyard](http://twitter.com/dockyard)
70
+
71
+ [Licensed under the MIT license](http://www.opensource.org/licenses/mit-license.php)
@@ -4,11 +4,10 @@ require 'client_side_validations/active_model'
4
4
  require 'client_side_validations/middleware'
5
5
  require 'client_side_validations/mongoid/middleware'
6
6
 
7
- %w{presence uniqueness}.each do |validator|
7
+ %w(presence uniqueness).each do |validator|
8
8
  require "client_side_validations/mongoid/#{validator}"
9
9
  validator.capitalize!
10
- eval "Mongoid::Validations::#{validator}Validator.send(:include, ClientSideValidations::Mongoid::#{validator})"
10
+ Mongoid::Validatable.const_get("#{validator}Validator").send :include, ClientSideValidations::Mongoid.const_get(validator)
11
11
  end
12
12
 
13
13
  ClientSideValidations::Middleware::Uniqueness.register_orm(ClientSideValidations::Mongoid::Middleware)
14
-
@@ -1,25 +1,25 @@
1
- module ClientSideValidations::Mongoid
2
- class Middleware
1
+ module ClientSideValidations
2
+ module Mongoid
3
+ class Middleware
4
+ def self.class?(klass)
5
+ klass < ::Mongoid::Document
6
+ end
3
7
 
4
- def self.is_class?(klass)
5
- klass < ::Mongoid::Document
6
- end
8
+ # Still need to handle embedded documents
9
+ def self.unique?(klass, attribute, value, params)
10
+ if params[:case_sensitive] == 'false'
11
+ value = Regexp.new("^#{Regexp.escape(value.to_s)}$", Regexp::IGNORECASE)
12
+ end
7
13
 
8
- # Still need to handle embedded documents
9
- def self.is_unique?(klass, attribute, value, params)
10
- if params[:case_sensitive] == 'false'
11
- value = Regexp.new("^#{Regexp.escape(value.to_s)}$", Regexp::IGNORECASE)
12
- end
14
+ criteria = klass.where(attribute => value)
15
+ criteria = criteria.where(_id: { '$ne' => params[:id] }) if params[:id]
13
16
 
14
- criteria = klass.where(attribute => value)
15
- criteria = criteria.where(:_id => {'$ne' => Moped::BSON::ObjectId(params[:id])}) if params[:id]
17
+ (params[:scope] || {}).each do |scope_key, scope_value|
18
+ criteria = criteria.where(scope_key => scope_value)
19
+ end
16
20
 
17
- (params[:scope] || {}).each do |key, value|
18
- criteria = criteria.where(key => value)
21
+ !criteria.exists?
19
22
  end
20
-
21
- !criteria.exists?
22
23
  end
23
24
  end
24
25
  end
25
-
@@ -1,10 +1,11 @@
1
- module ClientSideValidations::Mongoid
2
- module Presence
3
- private
1
+ module ClientSideValidations
2
+ module Mongoid
3
+ module Presence
4
+ private
4
5
 
5
- def message_type
6
- :blank
6
+ def message_type
7
+ :blank
8
+ end
7
9
  end
8
10
  end
9
11
  end
10
-
@@ -1,29 +1,30 @@
1
- module ClientSideValidations::Mongoid
2
- module Uniqueness
3
- def client_side_hash(model, attribute, force = nil)
4
- hash = {}
5
- hash[:message] = model.errors.generate_message(attribute, message_type, options.except(:scope))
6
- hash[:case_sensitive] = options[:case_sensitive] if options.key?(:case_sensitive)
7
- hash[:allow_blank] = true if options[:allow_blank]
8
- hash[:id] = model.id unless model.new_record?
9
- if options.key?(:scope) && options[:scope].present?
10
- hash[:scope] = Array.wrap(options[:scope]).inject({}) do |scope_hash, scope_item|
11
- scope_hash.merge!(scope_item => model.send(scope_item))
1
+ module ClientSideValidations
2
+ module Mongoid
3
+ module Uniqueness
4
+ def client_side_hash(model, attribute, _force = nil)
5
+ hash = {}
6
+ hash[:message] = model.errors.generate_message(attribute, message_type, options.except(:scope))
7
+ hash[:case_sensitive] = options[:case_sensitive] if options.key?(:case_sensitive)
8
+ hash[:allow_blank] = true if options[:allow_blank]
9
+ hash[:id] = model.id unless model.new_record?
10
+ if options.key?(:scope) && options[:scope].present?
11
+ hash[:scope] = Array.wrap(options[:scope]).inject({}) do |scope_hash, scope_item|
12
+ scope_hash.merge!(scope_item => model.send(scope_item))
13
+ end
12
14
  end
13
- end
14
15
 
15
- unless model.class.name.demodulize == model.class.name
16
- hash[:class] = model.class.name.underscore
17
- end
16
+ unless model.class.name.demodulize == model.class.name
17
+ hash[:class] = model.class.name.underscore
18
+ end
18
19
 
19
- hash
20
- end
20
+ hash
21
+ end
21
22
 
22
- private
23
+ private
23
24
 
24
- def message_type
25
- :taken
25
+ def message_type
26
+ :taken
27
+ end
26
28
  end
27
29
  end
28
30
  end
29
-
@@ -1,5 +1,6 @@
1
+ # frozen_string_literal: true
1
2
  module ClientSideValidations
2
3
  module Mongoid
3
- VERSION = '3.1.0'
4
+ VERSION = '4.0.1'.freeze
4
5
  end
5
6
  end
metadata CHANGED
@@ -1,154 +1,210 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: client_side_validations-mongoid
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.1.0
5
- prerelease:
4
+ version: 4.0.1
6
5
  platform: ruby
7
6
  authors:
8
7
  - Brian Cardarella
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2013-02-18 00:00:00.000000000 Z
11
+ date: 2016-01-15 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: client_side_validations
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
- - - ~>
17
+ - - "~>"
20
18
  - !ruby/object:Gem::Version
21
- version: 3.2.0
19
+ version: 4.2.0
22
20
  type: :runtime
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
- - - ~>
24
+ - - "~>"
28
25
  - !ruby/object:Gem::Version
29
- version: 3.2.0
26
+ version: 4.2.0
30
27
  - !ruby/object:Gem::Dependency
31
28
  name: mongoid
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
- - - ~>
31
+ - - "~>"
36
32
  - !ruby/object:Gem::Version
37
- version: 3.1.0
33
+ version: '4.0'
38
34
  type: :runtime
39
35
  prerelease: false
40
36
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
37
  requirements:
43
- - - ~>
38
+ - - "~>"
44
39
  - !ruby/object:Gem::Version
45
- version: 3.1.0
40
+ version: '4.0'
46
41
  - !ruby/object:Gem::Dependency
47
- name: bson_ext
42
+ name: appraisal
48
43
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
44
  requirements:
51
- - - ! '>='
45
+ - - "~>"
52
46
  - !ruby/object:Gem::Version
53
- version: '0'
47
+ version: '2.1'
54
48
  type: :development
55
49
  prerelease: false
56
50
  version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
51
  requirements:
59
- - - ! '>='
52
+ - - "~>"
60
53
  - !ruby/object:Gem::Version
61
- version: '0'
54
+ version: '2.1'
62
55
  - !ruby/object:Gem::Dependency
63
- name: rails
56
+ name: coveralls
64
57
  requirement: !ruby/object:Gem::Requirement
65
- none: false
66
58
  requirements:
67
- - - ~>
59
+ - - "~>"
68
60
  - !ruby/object:Gem::Version
69
- version: 3.2.0
61
+ version: 0.8.10
70
62
  type: :development
71
63
  prerelease: false
72
64
  version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
65
  requirements:
75
- - - ~>
66
+ - - "~>"
76
67
  - !ruby/object:Gem::Version
77
- version: 3.2.0
68
+ version: 0.8.10
78
69
  - !ruby/object:Gem::Dependency
79
- name: mocha
70
+ name: database_cleaner
80
71
  requirement: !ruby/object:Gem::Requirement
81
- none: false
82
72
  requirements:
83
- - - ! '>='
73
+ - - "~>"
84
74
  - !ruby/object:Gem::Version
85
- version: '0'
75
+ version: '1.5'
86
76
  type: :development
87
77
  prerelease: false
88
78
  version_requirements: !ruby/object:Gem::Requirement
89
- none: false
90
79
  requirements:
91
- - - ! '>='
80
+ - - "~>"
92
81
  - !ruby/object:Gem::Version
93
- version: '0'
82
+ version: '1.5'
94
83
  - !ruby/object:Gem::Dependency
95
84
  name: m
96
85
  requirement: !ruby/object:Gem::Requirement
97
- none: false
98
86
  requirements:
99
- - - ! '>='
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: '1.4'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: '1.4'
97
+ - !ruby/object:Gem::Dependency
98
+ name: minitest
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: 4.7.5
104
+ - - "<"
105
+ - !ruby/object:Gem::Version
106
+ version: 6.0.0
107
+ type: :development
108
+ prerelease: false
109
+ version_requirements: !ruby/object:Gem::Requirement
110
+ requirements:
111
+ - - ">="
112
+ - !ruby/object:Gem::Version
113
+ version: 4.7.5
114
+ - - "<"
115
+ - !ruby/object:Gem::Version
116
+ version: 6.0.0
117
+ - !ruby/object:Gem::Dependency
118
+ name: mocha
119
+ requirement: !ruby/object:Gem::Requirement
120
+ requirements:
121
+ - - "~>"
122
+ - !ruby/object:Gem::Version
123
+ version: '1.1'
124
+ type: :development
125
+ prerelease: false
126
+ version_requirements: !ruby/object:Gem::Requirement
127
+ requirements:
128
+ - - "~>"
129
+ - !ruby/object:Gem::Version
130
+ version: '1.1'
131
+ - !ruby/object:Gem::Dependency
132
+ name: rubocop
133
+ requirement: !ruby/object:Gem::Requirement
134
+ requirements:
135
+ - - "~>"
136
+ - !ruby/object:Gem::Version
137
+ version: 0.36.0
138
+ type: :development
139
+ prerelease: false
140
+ version_requirements: !ruby/object:Gem::Requirement
141
+ requirements:
142
+ - - "~>"
143
+ - !ruby/object:Gem::Version
144
+ version: 0.36.0
145
+ - !ruby/object:Gem::Dependency
146
+ name: simplecov
147
+ requirement: !ruby/object:Gem::Requirement
148
+ requirements:
149
+ - - "~>"
150
+ - !ruby/object:Gem::Version
151
+ version: 0.11.1
152
+ type: :development
153
+ prerelease: false
154
+ version_requirements: !ruby/object:Gem::Requirement
155
+ requirements:
156
+ - - "~>"
157
+ - !ruby/object:Gem::Version
158
+ version: 0.11.1
159
+ - !ruby/object:Gem::Dependency
160
+ name: byebug
161
+ requirement: !ruby/object:Gem::Requirement
162
+ requirements:
163
+ - - "~>"
100
164
  - !ruby/object:Gem::Version
101
- version: '0'
165
+ version: '8.2'
102
166
  type: :development
103
167
  prerelease: false
104
168
  version_requirements: !ruby/object:Gem::Requirement
105
- none: false
106
169
  requirements:
107
- - - ! '>='
170
+ - - "~>"
108
171
  - !ruby/object:Gem::Version
109
- version: '0'
110
- description: Mongoid Plugin for ClientSideValidaitons
172
+ version: '8.2'
173
+ description: Mongoid Plugin for ClientSideValidations
111
174
  email:
112
175
  - bcardarella@gmail.com
113
176
  executables: []
114
177
  extensions: []
115
178
  extra_rdoc_files: []
116
179
  files:
117
- - client_side_validations-mongoid.gemspec
118
- - lib/client_side_validations-mongoid.rb
180
+ - README.md
119
181
  - lib/client_side_validations/mongoid.rb
120
182
  - lib/client_side_validations/mongoid/middleware.rb
121
183
  - lib/client_side_validations/mongoid/presence.rb
122
184
  - lib/client_side_validations/mongoid/uniqueness.rb
123
185
  - lib/client_side_validations/mongoid/version.rb
124
- homepage: https://github.com/dockyard/client_side_validations-mongoid
125
- licenses: []
186
+ homepage: https://github.com/DavyJonesLocker/client_side_validations-mongoid
187
+ licenses:
188
+ - MIT
189
+ metadata: {}
126
190
  post_install_message:
127
191
  rdoc_options: []
128
192
  require_paths:
129
193
  - lib
130
194
  required_ruby_version: !ruby/object:Gem::Requirement
131
- none: false
132
195
  requirements:
133
- - - ! '>='
196
+ - - ">="
134
197
  - !ruby/object:Gem::Version
135
198
  version: '0'
136
- segments:
137
- - 0
138
- hash: 1576829546801755098
139
199
  required_rubygems_version: !ruby/object:Gem::Requirement
140
- none: false
141
200
  requirements:
142
- - - ! '>='
201
+ - - ">="
143
202
  - !ruby/object:Gem::Version
144
203
  version: '0'
145
- segments:
146
- - 0
147
- hash: 1576829546801755098
148
204
  requirements: []
149
205
  rubyforge_project:
150
- rubygems_version: 1.8.23
206
+ rubygems_version: 2.5.1
151
207
  signing_key:
152
- specification_version: 3
208
+ specification_version: 4
153
209
  summary: Mongoid Plugin for ClientSideValidations
154
210
  test_files: []
@@ -1,23 +0,0 @@
1
- # -*- encoding: utf-8 -*-
2
- require File.expand_path('../lib/client_side_validations/mongoid/version', __FILE__)
3
-
4
- Gem::Specification.new do |gem|
5
- gem.authors = ["Brian Cardarella"]
6
- gem.email = ["bcardarella@gmail.com"]
7
- gem.description = %q{Mongoid Plugin for ClientSideValidaitons}
8
- gem.summary = %q{Mongoid Plugin for ClientSideValidations}
9
- gem.homepage = 'https://github.com/dockyard/client_side_validations-mongoid'
10
-
11
- gem.files = `git ls-files -- {lib/*,vendor/*,*.gemspec}`.split("\n")
12
- gem.name = 'client_side_validations-mongoid'
13
- gem.require_paths = ['lib']
14
- gem.version = ClientSideValidations::Mongoid::VERSION
15
-
16
- gem.add_dependency 'client_side_validations', '~> 3.2.0'
17
- gem.add_dependency 'mongoid', '~> 3.1.0'
18
-
19
- gem.add_development_dependency 'bson_ext'
20
- gem.add_development_dependency 'rails', '~> 3.2.0'
21
- gem.add_development_dependency 'mocha'
22
- gem.add_development_dependency 'm'
23
- end
@@ -1 +0,0 @@
1
- require 'client_side_validations/mongoid'