hanami-validations 1.3.6 → 2.0.0.alpha1

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.
@@ -1,6 +1,7 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Hanami
2
4
  module Validations
3
- # @since 0.1.0
4
- VERSION = '1.3.6'.freeze
5
+ VERSION = "2.0.0.alpha1"
5
6
  end
6
7
  end
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "dry/validation"
4
+
5
+ module Hanami
6
+ # @since 2.0.0
7
+ class Validator < Dry::Validation::Contract
8
+ end
9
+ end
metadata CHANGED
@@ -1,69 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hanami-validations
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.6
4
+ version: 2.0.0.alpha1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Luca Guidi
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-01-08 00:00:00.000000000 Z
11
+ date: 2019-07-26 00:00:00.000000000 Z
12
12
  dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: hanami-utils
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - "~>"
18
- - !ruby/object:Gem::Version
19
- version: '1.3'
20
- type: :runtime
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - "~>"
25
- - !ruby/object:Gem::Version
26
- version: '1.3'
27
13
  - !ruby/object:Gem::Dependency
28
14
  name: dry-validation
29
15
  requirement: !ruby/object:Gem::Requirement
30
16
  requirements:
31
17
  - - "~>"
32
18
  - !ruby/object:Gem::Version
33
- version: '0.11'
34
- - - "<"
35
- - !ruby/object:Gem::Version
36
- version: '0.12'
19
+ version: '1.0'
37
20
  type: :runtime
38
21
  prerelease: false
39
22
  version_requirements: !ruby/object:Gem::Requirement
40
23
  requirements:
41
24
  - - "~>"
42
25
  - !ruby/object:Gem::Version
43
- version: '0.11'
44
- - - "<"
45
- - !ruby/object:Gem::Version
46
- version: '0.12'
47
- - !ruby/object:Gem::Dependency
48
- name: dry-logic
49
- requirement: !ruby/object:Gem::Requirement
50
- requirements:
51
- - - "~>"
52
- - !ruby/object:Gem::Version
53
- version: 0.4.2
54
- - - "<"
55
- - !ruby/object:Gem::Version
56
- version: '0.5'
57
- type: :runtime
58
- prerelease: false
59
- version_requirements: !ruby/object:Gem::Requirement
60
- requirements:
61
- - - "~>"
62
- - !ruby/object:Gem::Version
63
- version: 0.4.2
64
- - - "<"
65
- - !ruby/object:Gem::Version
66
- version: '0.5'
26
+ version: '1.0'
67
27
  - !ruby/object:Gem::Dependency
68
28
  name: bundler
69
29
  requirement: !ruby/object:Gem::Requirement
@@ -90,14 +50,14 @@ dependencies:
90
50
  requirements:
91
51
  - - "~>"
92
52
  - !ruby/object:Gem::Version
93
- version: '13'
53
+ version: '12'
94
54
  type: :development
95
55
  prerelease: false
96
56
  version_requirements: !ruby/object:Gem::Requirement
97
57
  requirements:
98
58
  - - "~>"
99
59
  - !ruby/object:Gem::Version
100
- version: '13'
60
+ version: '12'
101
61
  - !ruby/object:Gem::Dependency
102
62
  name: rspec
103
63
  requirement: !ruby/object:Gem::Requirement
@@ -123,13 +83,10 @@ files:
123
83
  - LICENSE.md
124
84
  - README.md
125
85
  - hanami-validations.gemspec
126
- - lib/hanami-validations.rb
127
86
  - lib/hanami/validations.rb
128
87
  - lib/hanami/validations/form.rb
129
- - lib/hanami/validations/inline_predicate.rb
130
- - lib/hanami/validations/namespace.rb
131
- - lib/hanami/validations/predicates.rb
132
88
  - lib/hanami/validations/version.rb
89
+ - lib/hanami/validator.rb
133
90
  homepage: http://hanamirb.org
134
91
  licenses:
135
92
  - MIT
@@ -142,14 +99,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
142
99
  requirements:
143
100
  - - ">="
144
101
  - !ruby/object:Gem::Version
145
- version: 2.3.0
102
+ version: 2.4.0
146
103
  required_rubygems_version: !ruby/object:Gem::Requirement
147
104
  requirements:
148
- - - ">="
105
+ - - ">"
149
106
  - !ruby/object:Gem::Version
150
- version: '0'
107
+ version: 1.3.1
151
108
  requirements: []
152
- rubygems_version: 3.1.2
109
+ rubygems_version: 3.0.3
153
110
  signing_key:
154
111
  specification_version: 4
155
112
  summary: Validations mixin for Ruby objects
@@ -1 +0,0 @@
1
- require 'hanami/validations'
@@ -1,46 +0,0 @@
1
- module Hanami
2
- module Validations
3
- # Inline predicate
4
- #
5
- # @since 0.6.0
6
- # @api private
7
- class InlinePredicate
8
- # @since 0.6.0
9
- # @api private
10
- attr_reader :name
11
-
12
- # @since 0.6.0
13
- # @api private
14
- attr_reader :message
15
-
16
- # Return a new instance.
17
- #
18
- # @param name [Symbol] inline predicate name
19
- # @param message [String] optional failure message
20
- # @param blk [Proc] predicate implementation
21
- #
22
- # @return [Hanami::Validations::InlinePredicate] a new instance
23
- #
24
- # @since 0.6.0
25
- # @api private
26
- def initialize(name, message, &blk)
27
- @name = name
28
- @message = message
29
- @blk = blk
30
- end
31
-
32
- # @since 0.6.0
33
- # @api private
34
- def to_proc
35
- @blk
36
- end
37
-
38
- # @since 0.6.0
39
- # @api private
40
- def ==(other)
41
- self.class == other.class &&
42
- name == other.name
43
- end
44
- end
45
- end
46
- end
@@ -1,65 +0,0 @@
1
- require 'hanami/utils/string'
2
-
3
- module Hanami
4
- module Validations
5
- # Validations message namespace.
6
- #
7
- # For a given `FooValidator` class, it will look for I18n messages within
8
- # the `foo` group.
9
- #
10
- # @since 0.6.0
11
- # @api private
12
- class Namespace
13
- # @since 0.6.0
14
- # @api private
15
- SUFFIX = 'Validator'.freeze
16
-
17
- # @since 0.6.0
18
- # @api private
19
- SUFFIX_REPLACEMENT = ''.freeze
20
-
21
- # @since 0.6.0
22
- # @api private
23
- RUBY_NAMESPACE_SEPARATOR = '/'.freeze
24
-
25
- # @since 0.6.0
26
- # @api private
27
- RUBY_NAMESPACE_REPLACEMENT = '.'.freeze
28
-
29
- # @since 0.6.0
30
- # @api private
31
- def self.new(name, klass)
32
- result = name || klass.name
33
- return nil if result.nil?
34
-
35
- super(result)
36
- end
37
-
38
- # @since 0.6.0
39
- # @api private
40
- def initialize(name)
41
- @name = name
42
- end
43
-
44
- # @since 0.6.0
45
- # @api private
46
- def to_s
47
- underscored_name.gsub(RUBY_NAMESPACE_SEPARATOR, RUBY_NAMESPACE_REPLACEMENT)
48
- end
49
-
50
- private
51
-
52
- # @since 0.6.0
53
- # @api private
54
- def underscored_name
55
- Utils::String.underscore(name_without_suffix)
56
- end
57
-
58
- # @since 0.6.0
59
- # @api private
60
- def name_without_suffix
61
- @name.sub(SUFFIX, SUFFIX_REPLACEMENT)
62
- end
63
- end
64
- end
65
- end
@@ -1,45 +0,0 @@
1
- require 'dry/logic/predicates'
2
- require 'hanami/utils/class_attribute'
3
-
4
- module Hanami
5
- module Validations
6
- # Mixin to include when defining shared predicates
7
- #
8
- # @since 0.6.0
9
- #
10
- # @see Hanami::Validations::ClassMethods#predicates
11
- #
12
- # @example Inline Predicate
13
- # require 'hanami/validations'
14
- #
15
- # module MySharedPredicates
16
- # include Hanami::Validations::Predicates
17
- #
18
- # predicate :foo? do |actual|
19
- # actual == 'foo'
20
- # end
21
- # end
22
- #
23
- # class MyValidator
24
- # include Hanami::Validations
25
- # predicates MySharedPredicates
26
- #
27
- # validations do
28
- # required(:name).filled(:foo?)
29
- # end
30
- # end
31
- module Predicates
32
- # @since 0.6.0
33
- # @api private
34
- def self.included(base)
35
- base.class_eval do
36
- include Dry::Logic::Predicates
37
- include Utils::ClassAttribute
38
-
39
- class_attribute :messages
40
- class_attribute :messages_path
41
- end
42
- end
43
- end
44
- end
45
- end