performify 0.11.0 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2fda92c2cf02e830d314ef77e491ae8fb1509e01109549d8d33421b9afbe4a65
4
- data.tar.gz: 952b96e4f71e29f6c96921a620b3b42ac48e9cc95ec82131714c0deafae22f0c
3
+ metadata.gz: 3f42b078cc5a367acde863d819ca20d65b162f88b6b9bcce7a1e6144e0638d97
4
+ data.tar.gz: 04b178462877bc21bea4e999c379d3d2dfb44cd27328acfa8890311b95da2e01
5
5
  SHA512:
6
- metadata.gz: f5d198bac0e2bf28a0a9a43f7bbddeb7f42dd7eaecdd47f43f15cfa4a5db74a6402db113256683dafb588bc9fdf2f817ae21e51f2a69b1cc521c09f574b1a1f2
7
- data.tar.gz: 7cb4151456023beb7c3853dfd9d2a2382ec173e0b5589a07ee9f8d0a5f3a10c87ebbc8f657694584196e2e2e4fdad53048b9ed35cd12f4722571fecc6cf88af3
6
+ metadata.gz: a8e2533668b6f2676fd9d8d71f61a94444ee1d0a3a7084f893c658288e1951df9e8179d1cbea71a49154d9ba2a97bffd2ddb6e7d30971bd26ee8509a6b671fbc
7
+ data.tar.gz: 42877bc2eb354d2e110d3044ff7f7364ef6512a199b206f0638d598a4e5d1e857fd6ee90bbe6bbad4c18ea07874c89ebb0479e943e34640760cdb5fb82584df1
data/CHANGELOG.md ADDED
@@ -0,0 +1,7 @@
1
+ # CHANGELOG
2
+
3
+ ## 1.0.0
4
+
5
+ This version is switching performify from version `0.12.0` of `dry-validation` to `dry-schema` of version `1.4` which means breaking changes:
6
+
7
+ - Because additional options are not supported by `dry-schema` (or at least I have not found this support in the source code) we were forced to drop them as well. So, from now you can't use `current_user` in your schemas by default because it's not being passed implicitly.
data/README.md CHANGED
@@ -242,32 +242,6 @@ else
242
242
  end
243
243
  ```
244
244
 
245
- You can set options for `#with` to schema by overriding `#with_options`.
246
- By default `#with_options` contains `{ current_user: current_user }`.
247
-
248
- ```ruby
249
- module Users
250
- class UpdatePassword < ApplicationService
251
- schema do
252
- configure do
253
- option :current_user
254
-
255
- def valid_password?(value)
256
- current_user.password_digest.blank? || current_user.authenticate(value)
257
- end
258
- end
259
-
260
- optional(:old_password).filled(:str?, :valid_password?)
261
- required(:new_password).filled(:str?)
262
- end
263
-
264
- def execute!
265
- super { current_user.update(password: new_password) }
266
- end
267
- end
268
- end
269
- ```
270
-
271
245
  You can get filtered inputs after success validation by accessing `inputs`.
272
246
 
273
247
  ```ruby
@@ -1,5 +1,3 @@
1
- require 'dry-validation'
2
-
3
1
  module Performify
4
2
  module Validation
5
3
  def self.extended(base)
@@ -10,8 +8,8 @@ module Performify
10
8
  module ClassMethods
11
9
  def schema(outer_schema = nil, &block)
12
10
  if block_given?
13
- @schema = Dry::Validation.Schema(Dry::Validation::Schema::Params, {}, &block)
14
- elsif outer_schema.present? && outer_schema.is_a?(Dry::Validation::Schema)
11
+ @schema = Dry::Schema.Params({}, &block)
12
+ elsif outer_schema.present? && outer_schema.is_a?(Dry::Schema::Params)
15
13
  @schema = outer_schema
16
14
  else
17
15
  @schema
@@ -27,7 +25,8 @@ module Performify
27
25
  def validate
28
26
  return args if schema.nil?
29
27
 
30
- result = schema.with(with_options).call(args)
28
+ result = schema.call(args)
29
+
31
30
  if result.success?
32
31
  @inputs = result.output
33
32
  else
@@ -51,10 +50,6 @@ module Performify
51
50
  def errors?
52
51
  errors.any?
53
52
  end
54
-
55
- private def with_options
56
- { current_user: current_user }
57
- end
58
53
  end
59
54
  end
60
55
  end
@@ -1,3 +1,3 @@
1
1
  module Performify
2
- VERSION = '0.11.0'.freeze
2
+ VERSION = '1.0.0'.freeze
3
3
  end
data/lib/performify.rb CHANGED
@@ -1,3 +1,5 @@
1
+ require "dry/schema"
2
+
1
3
  require "performify/version"
2
4
  require "performify/base"
3
5
 
data/performify.gemspec CHANGED
@@ -23,10 +23,10 @@ Gem::Specification.new do |spec|
23
23
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
24
24
  spec.require_paths = ["lib"]
25
25
 
26
- spec.add_dependency "activerecord", ">= 4.0.0"
27
- spec.add_dependency "dry-validation", ">= 0.12.0"
26
+ spec.add_dependency "activerecord", ">= 4.0"
27
+ spec.add_dependency "dry-schema", "~> 1.4"
28
28
 
29
- spec.add_development_dependency "sqlite3", "~> 1.3.13"
29
+ spec.add_development_dependency "sqlite3", "~> 1.4"
30
30
  spec.add_development_dependency "bundler", "~> 1.14"
31
31
  spec.add_development_dependency "rake", "~> 10.0"
32
32
  spec.add_development_dependency "rspec", "~> 3.5"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: performify
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.11.0
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sergey Tsvetkov
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-01-12 00:00:00.000000000 Z
11
+ date: 2020-01-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord
@@ -16,42 +16,42 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: 4.0.0
19
+ version: '4.0'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
- version: 4.0.0
26
+ version: '4.0'
27
27
  - !ruby/object:Gem::Dependency
28
- name: dry-validation
28
+ name: dry-schema
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ">="
31
+ - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: 0.12.0
33
+ version: '1.4'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ">="
38
+ - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: 0.12.0
40
+ version: '1.4'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: sqlite3
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: 1.3.13
47
+ version: '1.4'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: 1.3.13
54
+ version: '1.4'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: bundler
57
57
  requirement: !ruby/object:Gem::Requirement
@@ -148,6 +148,7 @@ files:
148
148
  - ".gitignore"
149
149
  - ".rspec"
150
150
  - ".rubocop.yml"
151
+ - CHANGELOG.md
151
152
  - Gemfile
152
153
  - LICENSE.txt
153
154
  - README.md
@@ -182,8 +183,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
182
183
  - !ruby/object:Gem::Version
183
184
  version: '0'
184
185
  requirements: []
185
- rubyforge_project:
186
- rubygems_version: 2.7.6
186
+ rubygems_version: 3.0.3
187
187
  signing_key:
188
188
  specification_version: 4
189
189
  summary: Service classes that makes your life easier