performify 0.11.0 → 1.0.0

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