client_side_validations-mongoid 3.1.0 → 4.0.1

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.
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'