client_side_validations-simple_form 14.1.0 → 16.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +16 -0
- data/LICENSE.md +1 -1
- data/README.md +1 -1
- data/lib/client_side_validations/simple_form/form_builder.rb +7 -6
- data/lib/client_side_validations/simple_form/version.rb +1 -1
- data/lib/client_side_validations/simple_form.rb +1 -1
- data/vendor/assets/javascripts/rails.validations.simple_form.bootstrap4.js +68 -36
- data/vendor/assets/javascripts/rails.validations.simple_form.js +63 -30
- metadata +10 -170
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d6d6da7521d245c6ff0a9ff14cc9845e1db5b4ee60443db8c11aa4eef8d77598
|
4
|
+
data.tar.gz: 8301e93b0f1319d4ccb74a4ad4a03b4e5f971e2dfcb2e40eed700730e9855d23
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7b9b6a65f0741139dd8480d9bac409e6bced782e07a177051cb34c1d3378c37797ce4868edb2db4ec00b33bb543494677f7bcfb780f15153e4610fe7de9984b1
|
7
|
+
data.tar.gz: ccbdbe95c2518e6516d62e9e1b483513e603b680486736e8358b302964f6208d3b543be6a09cbe6af2c3b9bd7aa6b2f1a697da784fbc5689a6780401b30cfa2f
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,21 @@
|
|
1
1
|
# Changelog
|
2
2
|
|
3
|
+
## 16.0.0 / 2023-09-02
|
4
|
+
|
5
|
+
* [FEATURE] Do not require jQuery
|
6
|
+
* [ENHANCEMENT] Test against Ruby 3.2
|
7
|
+
* [ENHANCEMENT] Update QUnit to 2.19.4
|
8
|
+
* [FEATURE] Drop support to Ruby 2.6
|
9
|
+
* [FEATURE] Drop support to CSV < 22.0
|
10
|
+
|
11
|
+
## 15.0.0 / 2022-09-18
|
12
|
+
|
13
|
+
* [FEATURE] Drop Ruby 2.5 support
|
14
|
+
* [FEATURE] Drop Client Side Validations < 21.0 compatibility
|
15
|
+
* [ENHANCEMENT] Test against jQuery 3.6.1 by default
|
16
|
+
* [ENHANCEMENT] Update QUnit to 2.19.1
|
17
|
+
* [ENHANCEMENT] Update development dependencies
|
18
|
+
|
3
19
|
## 14.1.0 / 2021-12-16
|
4
20
|
|
5
21
|
* [FEATURE] Add Client Side Validations 20.0 compatibility
|
data/LICENSE.md
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
The MIT License (MIT)
|
2
2
|
|
3
|
-
Copyright (c)
|
3
|
+
Copyright (c) 2023 Geremia Taglialatela, Brian Cardarella
|
4
4
|
|
5
5
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
6
6
|
of this software and associated documentation files (the "Software"), to deal
|
data/README.md
CHANGED
@@ -5,7 +5,7 @@ module ClientSideValidations
|
|
5
5
|
module FormBuilder
|
6
6
|
def client_side_form_settings(options, _form_helper)
|
7
7
|
{
|
8
|
-
type: self.class.
|
8
|
+
type: self.class.name,
|
9
9
|
error_class: wrapper_error_component.defaults[:class].join(' '),
|
10
10
|
error_tag: wrapper_error_component.defaults[:tag],
|
11
11
|
wrapper_error_class: wrapper.defaults[:error_class],
|
@@ -28,11 +28,12 @@ module ClientSideValidations
|
|
28
28
|
private
|
29
29
|
|
30
30
|
def wrapper_error_component
|
31
|
-
|
32
|
-
wrapper
|
33
|
-
|
34
|
-
|
35
|
-
|
31
|
+
@wrapper_error_component ||=
|
32
|
+
if namespace_present?(wrapper, :error)
|
33
|
+
wrapper.find(:error)
|
34
|
+
else
|
35
|
+
wrapper.find(:full_error)
|
36
|
+
end
|
36
37
|
end
|
37
38
|
|
38
39
|
def namespace_present?(component, namespace)
|
@@ -4,7 +4,7 @@ require 'simple_form'
|
|
4
4
|
require 'client_side_validations'
|
5
5
|
require 'client_side_validations/simple_form/form_builder'
|
6
6
|
|
7
|
-
if defined?(
|
7
|
+
if defined?(Rails)
|
8
8
|
require 'client_side_validations/simple_form/engine'
|
9
9
|
require 'client_side_validations/generators/simple_form'
|
10
10
|
end
|
@@ -1,60 +1,92 @@
|
|
1
1
|
/*!
|
2
|
-
* Client Side Validations Simple Form JS (Bootstrap 4+) - v0.
|
3
|
-
* Copyright (c)
|
2
|
+
* Client Side Validations Simple Form JS (Bootstrap 4+) - v0.4.0 (https://github.com/DavyJonesLocker/client_side_validations-simple_form)
|
3
|
+
* Copyright (c) 2023 Geremia Taglialatela, Brian Cardarella
|
4
4
|
* Licensed under MIT (https://opensource.org/licenses/mit-license.php)
|
5
5
|
*/
|
6
6
|
|
7
7
|
(function (global, factory) {
|
8
|
-
typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('
|
9
|
-
typeof define === 'function' && define.amd ? define(['
|
10
|
-
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.
|
11
|
-
})(this, (function (
|
8
|
+
typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('@client-side-validations/client-side-validations')) :
|
9
|
+
typeof define === 'function' && define.amd ? define(['@client-side-validations/client-side-validations'], factory) :
|
10
|
+
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.ClientSideValidations));
|
11
|
+
})(this, (function (ClientSideValidations) { 'use strict';
|
12
12
|
|
13
|
-
function
|
13
|
+
function _toConsumableArray(arr) {
|
14
|
+
return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
|
15
|
+
}
|
16
|
+
function _arrayWithoutHoles(arr) {
|
17
|
+
if (Array.isArray(arr)) return _arrayLikeToArray(arr);
|
18
|
+
}
|
19
|
+
function _iterableToArray(iter) {
|
20
|
+
if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
|
21
|
+
}
|
22
|
+
function _unsupportedIterableToArray(o, minLen) {
|
23
|
+
if (!o) return;
|
24
|
+
if (typeof o === "string") return _arrayLikeToArray(o, minLen);
|
25
|
+
var n = Object.prototype.toString.call(o).slice(8, -1);
|
26
|
+
if (n === "Object" && o.constructor) n = o.constructor.name;
|
27
|
+
if (n === "Map" || n === "Set") return Array.from(o);
|
28
|
+
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
|
29
|
+
}
|
30
|
+
function _arrayLikeToArray(arr, len) {
|
31
|
+
if (len == null || len > arr.length) len = arr.length;
|
32
|
+
for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
|
33
|
+
return arr2;
|
34
|
+
}
|
35
|
+
function _nonIterableSpread() {
|
36
|
+
throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
37
|
+
}
|
14
38
|
|
15
|
-
var
|
16
|
-
|
39
|
+
var addClass = function addClass(element, customClass) {
|
40
|
+
if (customClass) {
|
41
|
+
var _element$classList;
|
42
|
+
(_element$classList = element.classList).add.apply(_element$classList, _toConsumableArray(customClass.split(' ')));
|
43
|
+
}
|
44
|
+
};
|
45
|
+
var removeClass = function removeClass(element, customClass) {
|
46
|
+
if (customClass) {
|
47
|
+
var _element$classList2;
|
48
|
+
(_element$classList2 = element.classList).remove.apply(_element$classList2, _toConsumableArray(customClass.split(' ')));
|
49
|
+
}
|
50
|
+
};
|
17
51
|
|
18
|
-
|
52
|
+
ClientSideValidations.formBuilders['SimpleForm::FormBuilder'] = {
|
19
53
|
add: function add($element, settings, message) {
|
20
|
-
this.wrapper(settings.wrapper).add.call(this, $element, settings, message);
|
54
|
+
this.wrapper(settings.wrapper).add.call(this, $element[0], settings, message);
|
21
55
|
},
|
22
56
|
remove: function remove($element, settings) {
|
23
|
-
this.wrapper(settings.wrapper).remove.call(this, $element, settings);
|
57
|
+
this.wrapper(settings.wrapper).remove.call(this, $element[0], settings);
|
24
58
|
},
|
25
59
|
wrapper: function wrapper(name) {
|
26
60
|
return this.wrappers[name] || this.wrappers.default;
|
27
61
|
},
|
28
62
|
wrappers: {
|
29
63
|
default: {
|
30
|
-
add: function add(
|
31
|
-
var
|
32
|
-
var
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
if ($formTextElement.length) {
|
42
|
-
$formTextElement.before($errorElement);
|
64
|
+
add: function add(element, settings, message) {
|
65
|
+
var wrapperElement = element.parentElement;
|
66
|
+
var errorElement = wrapperElement.querySelector("".concat(settings.error_tag, ".invalid-feedback"));
|
67
|
+
if (!errorElement) {
|
68
|
+
var formTextElement = wrapperElement.querySelector('.form-text');
|
69
|
+
errorElement = document.createElement(settings.error_tag);
|
70
|
+
addClass(errorElement, 'invalid-feedback');
|
71
|
+
errorElement.textContent = message;
|
72
|
+
if (formTextElement) {
|
73
|
+
formTextElement.before(errorElement);
|
43
74
|
} else {
|
44
|
-
|
75
|
+
wrapperElement.appendChild(errorElement);
|
45
76
|
}
|
46
77
|
}
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
$errorElement.text(message);
|
78
|
+
addClass(wrapperElement, settings.wrapper_error_class);
|
79
|
+
addClass(element, 'is-invalid');
|
80
|
+
errorElement.textContent = message;
|
51
81
|
},
|
52
|
-
remove: function remove(
|
53
|
-
var
|
54
|
-
var
|
55
|
-
|
56
|
-
|
57
|
-
|
82
|
+
remove: function remove(element, settings) {
|
83
|
+
var wrapperElement = element.parentElement;
|
84
|
+
var errorElement = wrapperElement.querySelector("".concat(settings.error_tag, ".invalid-feedback"));
|
85
|
+
removeClass(wrapperElement, settings.wrapper_error_class);
|
86
|
+
removeClass(element, 'is-invalid');
|
87
|
+
if (errorElement) {
|
88
|
+
errorElement.remove();
|
89
|
+
}
|
58
90
|
}
|
59
91
|
}
|
60
92
|
}
|
@@ -1,52 +1,85 @@
|
|
1
1
|
/*!
|
2
|
-
* Client Side Validations Simple Form JS (Default) - v0.
|
3
|
-
* Copyright (c)
|
2
|
+
* Client Side Validations Simple Form JS (Default) - v0.4.0 (https://github.com/DavyJonesLocker/client_side_validations-simple_form)
|
3
|
+
* Copyright (c) 2023 Geremia Taglialatela, Brian Cardarella
|
4
4
|
* Licensed under MIT (https://opensource.org/licenses/mit-license.php)
|
5
5
|
*/
|
6
6
|
|
7
7
|
(function (global, factory) {
|
8
|
-
typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('
|
9
|
-
typeof define === 'function' && define.amd ? define(['
|
10
|
-
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.
|
11
|
-
})(this, (function (
|
8
|
+
typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('@client-side-validations/client-side-validations')) :
|
9
|
+
typeof define === 'function' && define.amd ? define(['@client-side-validations/client-side-validations'], factory) :
|
10
|
+
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.ClientSideValidations));
|
11
|
+
})(this, (function (ClientSideValidations) { 'use strict';
|
12
12
|
|
13
|
-
function
|
13
|
+
function _toConsumableArray(arr) {
|
14
|
+
return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
|
15
|
+
}
|
16
|
+
function _arrayWithoutHoles(arr) {
|
17
|
+
if (Array.isArray(arr)) return _arrayLikeToArray(arr);
|
18
|
+
}
|
19
|
+
function _iterableToArray(iter) {
|
20
|
+
if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
|
21
|
+
}
|
22
|
+
function _unsupportedIterableToArray(o, minLen) {
|
23
|
+
if (!o) return;
|
24
|
+
if (typeof o === "string") return _arrayLikeToArray(o, minLen);
|
25
|
+
var n = Object.prototype.toString.call(o).slice(8, -1);
|
26
|
+
if (n === "Object" && o.constructor) n = o.constructor.name;
|
27
|
+
if (n === "Map" || n === "Set") return Array.from(o);
|
28
|
+
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
|
29
|
+
}
|
30
|
+
function _arrayLikeToArray(arr, len) {
|
31
|
+
if (len == null || len > arr.length) len = arr.length;
|
32
|
+
for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
|
33
|
+
return arr2;
|
34
|
+
}
|
35
|
+
function _nonIterableSpread() {
|
36
|
+
throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
37
|
+
}
|
14
38
|
|
15
|
-
var
|
16
|
-
|
39
|
+
var addClass = function addClass(element, customClass) {
|
40
|
+
if (customClass) {
|
41
|
+
var _element$classList;
|
42
|
+
(_element$classList = element.classList).add.apply(_element$classList, _toConsumableArray(customClass.split(' ')));
|
43
|
+
}
|
44
|
+
};
|
45
|
+
var removeClass = function removeClass(element, customClass) {
|
46
|
+
if (customClass) {
|
47
|
+
var _element$classList2;
|
48
|
+
(_element$classList2 = element.classList).remove.apply(_element$classList2, _toConsumableArray(customClass.split(' ')));
|
49
|
+
}
|
50
|
+
};
|
17
51
|
|
18
|
-
|
52
|
+
ClientSideValidations.formBuilders['SimpleForm::FormBuilder'] = {
|
19
53
|
add: function add($element, settings, message) {
|
20
|
-
this.wrapper(settings.wrapper).add.call(this, $element, settings, message);
|
54
|
+
this.wrapper(settings.wrapper).add.call(this, $element[0], settings, message);
|
21
55
|
},
|
22
56
|
remove: function remove($element, settings) {
|
23
|
-
this.wrapper(settings.wrapper).remove.call(this, $element, settings);
|
57
|
+
this.wrapper(settings.wrapper).remove.call(this, $element[0], settings);
|
24
58
|
},
|
25
59
|
wrapper: function wrapper(name) {
|
26
60
|
return this.wrappers[name] || this.wrappers.default;
|
27
61
|
},
|
28
62
|
wrappers: {
|
29
63
|
default: {
|
30
|
-
add: function add(
|
31
|
-
var
|
32
|
-
var
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
});
|
39
|
-
$wrapperElement.append($errorElement);
|
64
|
+
add: function add(element, settings, message) {
|
65
|
+
var wrapperElement = element.closest("".concat(settings.wrapper_tag, ".").concat(settings.wrapper_class.replace(/ /g, '.')));
|
66
|
+
var errorElement = wrapperElement.querySelector("".concat(settings.error_tag, ".").concat(settings.error_class.replace(/ /g, '.')));
|
67
|
+
if (!errorElement) {
|
68
|
+
errorElement = document.createElement(settings.error_tag);
|
69
|
+
addClass(errorElement, settings.error_class);
|
70
|
+
errorElement.textContent = message;
|
71
|
+
wrapperElement.appendChild(errorElement);
|
40
72
|
}
|
41
|
-
|
42
|
-
|
43
|
-
$errorElement.text(message);
|
73
|
+
addClass(wrapperElement, settings.wrapper_error_class);
|
74
|
+
errorElement.textContent = message;
|
44
75
|
},
|
45
|
-
remove: function remove(
|
46
|
-
var
|
47
|
-
var
|
48
|
-
|
49
|
-
|
76
|
+
remove: function remove(element, settings) {
|
77
|
+
var wrapperElement = element.closest("".concat(settings.wrapper_tag, ".").concat(settings.wrapper_class.replace(/ /g, '.')));
|
78
|
+
var errorElement = wrapperElement.querySelector("".concat(settings.error_tag, ".").concat(settings.error_class.replace(/ /g, '.')));
|
79
|
+
removeClass(wrapperElement, settings.wrapper_error_class);
|
80
|
+
if (errorElement) {
|
81
|
+
errorElement.remove();
|
82
|
+
}
|
50
83
|
}
|
51
84
|
}
|
52
85
|
}
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: client_side_validations-simple_form
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 16.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Geremia Taglialatela
|
@@ -9,196 +9,36 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2023-09-02 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: client_side_validations
|
16
|
-
requirement: !ruby/object:Gem::Requirement
|
17
|
-
requirements:
|
18
|
-
- - ">="
|
19
|
-
- !ruby/object:Gem::Version
|
20
|
-
version: '19.0'
|
21
|
-
- - "<"
|
22
|
-
- !ruby/object:Gem::Version
|
23
|
-
version: '21'
|
24
|
-
type: :runtime
|
25
|
-
prerelease: false
|
26
|
-
version_requirements: !ruby/object:Gem::Requirement
|
27
|
-
requirements:
|
28
|
-
- - ">="
|
29
|
-
- !ruby/object:Gem::Version
|
30
|
-
version: '19.0'
|
31
|
-
- - "<"
|
32
|
-
- !ruby/object:Gem::Version
|
33
|
-
version: '21'
|
34
|
-
- !ruby/object:Gem::Dependency
|
35
|
-
name: simple_form
|
36
16
|
requirement: !ruby/object:Gem::Requirement
|
37
17
|
requirements:
|
38
18
|
- - "~>"
|
39
19
|
- !ruby/object:Gem::Version
|
40
|
-
version: '
|
20
|
+
version: '22.0'
|
41
21
|
type: :runtime
|
42
22
|
prerelease: false
|
43
23
|
version_requirements: !ruby/object:Gem::Requirement
|
44
24
|
requirements:
|
45
25
|
- - "~>"
|
46
26
|
- !ruby/object:Gem::Version
|
47
|
-
version: '
|
48
|
-
- !ruby/object:Gem::Dependency
|
49
|
-
name: appraisal
|
50
|
-
requirement: !ruby/object:Gem::Requirement
|
51
|
-
requirements:
|
52
|
-
- - "~>"
|
53
|
-
- !ruby/object:Gem::Version
|
54
|
-
version: '2.4'
|
55
|
-
type: :development
|
56
|
-
prerelease: false
|
57
|
-
version_requirements: !ruby/object:Gem::Requirement
|
58
|
-
requirements:
|
59
|
-
- - "~>"
|
60
|
-
- !ruby/object:Gem::Version
|
61
|
-
version: '2.4'
|
62
|
-
- !ruby/object:Gem::Dependency
|
63
|
-
name: byebug
|
64
|
-
requirement: !ruby/object:Gem::Requirement
|
65
|
-
requirements:
|
66
|
-
- - "~>"
|
67
|
-
- !ruby/object:Gem::Version
|
68
|
-
version: '11.1'
|
69
|
-
type: :development
|
70
|
-
prerelease: false
|
71
|
-
version_requirements: !ruby/object:Gem::Requirement
|
72
|
-
requirements:
|
73
|
-
- - "~>"
|
74
|
-
- !ruby/object:Gem::Version
|
75
|
-
version: '11.1'
|
76
|
-
- !ruby/object:Gem::Dependency
|
77
|
-
name: m
|
78
|
-
requirement: !ruby/object:Gem::Requirement
|
79
|
-
requirements:
|
80
|
-
- - "~>"
|
81
|
-
- !ruby/object:Gem::Version
|
82
|
-
version: '1.5'
|
83
|
-
type: :development
|
84
|
-
prerelease: false
|
85
|
-
version_requirements: !ruby/object:Gem::Requirement
|
86
|
-
requirements:
|
87
|
-
- - "~>"
|
88
|
-
- !ruby/object:Gem::Version
|
89
|
-
version: '1.5'
|
90
|
-
- !ruby/object:Gem::Dependency
|
91
|
-
name: minitest
|
92
|
-
requirement: !ruby/object:Gem::Requirement
|
93
|
-
requirements:
|
94
|
-
- - "~>"
|
95
|
-
- !ruby/object:Gem::Version
|
96
|
-
version: '5.14'
|
97
|
-
type: :development
|
98
|
-
prerelease: false
|
99
|
-
version_requirements: !ruby/object:Gem::Requirement
|
100
|
-
requirements:
|
101
|
-
- - "~>"
|
102
|
-
- !ruby/object:Gem::Version
|
103
|
-
version: '5.14'
|
104
|
-
- !ruby/object:Gem::Dependency
|
105
|
-
name: mocha
|
106
|
-
requirement: !ruby/object:Gem::Requirement
|
107
|
-
requirements:
|
108
|
-
- - "~>"
|
109
|
-
- !ruby/object:Gem::Version
|
110
|
-
version: '1.13'
|
111
|
-
type: :development
|
112
|
-
prerelease: false
|
113
|
-
version_requirements: !ruby/object:Gem::Requirement
|
114
|
-
requirements:
|
115
|
-
- - "~>"
|
116
|
-
- !ruby/object:Gem::Version
|
117
|
-
version: '1.13'
|
118
|
-
- !ruby/object:Gem::Dependency
|
119
|
-
name: rake
|
120
|
-
requirement: !ruby/object:Gem::Requirement
|
121
|
-
requirements:
|
122
|
-
- - "~>"
|
123
|
-
- !ruby/object:Gem::Version
|
124
|
-
version: '13.0'
|
125
|
-
type: :development
|
126
|
-
prerelease: false
|
127
|
-
version_requirements: !ruby/object:Gem::Requirement
|
128
|
-
requirements:
|
129
|
-
- - "~>"
|
130
|
-
- !ruby/object:Gem::Version
|
131
|
-
version: '13.0'
|
27
|
+
version: '22.0'
|
132
28
|
- !ruby/object:Gem::Dependency
|
133
|
-
name:
|
134
|
-
requirement: !ruby/object:Gem::Requirement
|
135
|
-
requirements:
|
136
|
-
- - "~>"
|
137
|
-
- !ruby/object:Gem::Version
|
138
|
-
version: 0.21.2
|
139
|
-
type: :development
|
140
|
-
prerelease: false
|
141
|
-
version_requirements: !ruby/object:Gem::Requirement
|
142
|
-
requirements:
|
143
|
-
- - "~>"
|
144
|
-
- !ruby/object:Gem::Version
|
145
|
-
version: 0.21.2
|
146
|
-
- !ruby/object:Gem::Dependency
|
147
|
-
name: simplecov-lcov
|
148
|
-
requirement: !ruby/object:Gem::Requirement
|
149
|
-
requirements:
|
150
|
-
- - "~>"
|
151
|
-
- !ruby/object:Gem::Version
|
152
|
-
version: 0.8.0
|
153
|
-
type: :development
|
154
|
-
prerelease: false
|
155
|
-
version_requirements: !ruby/object:Gem::Requirement
|
156
|
-
requirements:
|
157
|
-
- - "~>"
|
158
|
-
- !ruby/object:Gem::Version
|
159
|
-
version: 0.8.0
|
160
|
-
- !ruby/object:Gem::Dependency
|
161
|
-
name: shotgun
|
162
|
-
requirement: !ruby/object:Gem::Requirement
|
163
|
-
requirements:
|
164
|
-
- - "~>"
|
165
|
-
- !ruby/object:Gem::Version
|
166
|
-
version: 0.9.2
|
167
|
-
type: :development
|
168
|
-
prerelease: false
|
169
|
-
version_requirements: !ruby/object:Gem::Requirement
|
170
|
-
requirements:
|
171
|
-
- - "~>"
|
172
|
-
- !ruby/object:Gem::Version
|
173
|
-
version: 0.9.2
|
174
|
-
- !ruby/object:Gem::Dependency
|
175
|
-
name: sinatra
|
176
|
-
requirement: !ruby/object:Gem::Requirement
|
177
|
-
requirements:
|
178
|
-
- - "~>"
|
179
|
-
- !ruby/object:Gem::Version
|
180
|
-
version: '2.0'
|
181
|
-
type: :development
|
182
|
-
prerelease: false
|
183
|
-
version_requirements: !ruby/object:Gem::Requirement
|
184
|
-
requirements:
|
185
|
-
- - "~>"
|
186
|
-
- !ruby/object:Gem::Version
|
187
|
-
version: '2.0'
|
188
|
-
- !ruby/object:Gem::Dependency
|
189
|
-
name: webrick
|
29
|
+
name: simple_form
|
190
30
|
requirement: !ruby/object:Gem::Requirement
|
191
31
|
requirements:
|
192
32
|
- - "~>"
|
193
33
|
- !ruby/object:Gem::Version
|
194
|
-
version: '
|
195
|
-
type: :
|
34
|
+
version: '5.2'
|
35
|
+
type: :runtime
|
196
36
|
prerelease: false
|
197
37
|
version_requirements: !ruby/object:Gem::Requirement
|
198
38
|
requirements:
|
199
39
|
- - "~>"
|
200
40
|
- !ruby/object:Gem::Version
|
201
|
-
version: '
|
41
|
+
version: '5.2'
|
202
42
|
description: SimpleForm Plugin for ClientSideValidations
|
203
43
|
email:
|
204
44
|
- tagliala.dev@gmail.com
|
@@ -233,14 +73,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
233
73
|
requirements:
|
234
74
|
- - ">="
|
235
75
|
- !ruby/object:Gem::Version
|
236
|
-
version: '2.
|
76
|
+
version: '2.7'
|
237
77
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
238
78
|
requirements:
|
239
79
|
- - ">="
|
240
80
|
- !ruby/object:Gem::Version
|
241
81
|
version: '0'
|
242
82
|
requirements: []
|
243
|
-
rubygems_version: 3.
|
83
|
+
rubygems_version: 3.4.19
|
244
84
|
signing_key:
|
245
85
|
specification_version: 4
|
246
86
|
summary: ClientSideValidations SimpleForm
|