redress 0.3.2 → 0.4.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: 49bded90385feee506f619deb4d89d6b439a009400473bbd8e4af6278e6d90d5
4
- data.tar.gz: 1793066adf0ebe28712b43674918d815d81ebb9eaf254dc59126f92c1acd5527
3
+ metadata.gz: 48dca657c066cb4fa1396fb346f8863da7b4f8f25c0220f63689751a23539403
4
+ data.tar.gz: fa0c17d8bd9907b671297e38cf3fc31b9f6d5107eb443b766e39b45d7a5783b3
5
5
  SHA512:
6
- metadata.gz: df64ec1c7fc2089a488dd8a7abc54fdead32af171352eb2316aca075bbdc004010062742542008b0714a2de07c69c4e0061b76026a6b13b3196c55d7a5976214
7
- data.tar.gz: 894eb582cc33ee28bf5e35bac36aae0db642910ef9a25611684c878dcf5aae8c311cdb789bf54af402070cef73265ace112355e5b70826437f8c2192fe90b74e
6
+ metadata.gz: b7fbe56267bb3af7b7ed25a49754aca0f95035f572fcbf6464ea5d05324d0b653ad63156427563d0ee3686806b5bc90c7ebdb8934e5399820f5152c9e1383d6b
7
+ data.tar.gz: 1fed4838fbdfcdc0313098e96e1d641321b9b76b9cd97a4abac203591f3a5734840e1d5f8770e7dd08a4fdfcb220bf1caa4c113242bb064674935e1eb9d27910
data/README.md CHANGED
@@ -56,7 +56,7 @@ class ApplicationForm < Redress::Form
56
56
  end
57
57
  ```
58
58
 
59
- Let's define simple form:
59
+ Let's define simple form (Built-in Types https://dry-rb.org/gems/dry-types/built-in-types/):
60
60
 
61
61
  ```ruby
62
62
  class SimpleForm < ApplicationForm
@@ -68,7 +68,7 @@ class SimpleForm < ApplicationForm
68
68
  attribute :email, String
69
69
  attribute :name_with_email, String
70
70
  attribute :age, Redress::Types::Coercible::Integer
71
- atttibute :terms_of_service, Redress::Types::Coercible::Bool
71
+ atttibute :terms_of_service, Redress::Types::Bool
72
72
  end
73
73
 
74
74
  validates :name, presence: true
@@ -119,7 +119,7 @@ end
119
119
 
120
120
  Form with context:
121
121
 
122
- ```
122
+ ```ruby
123
123
  class CommentForm < Redress::Form
124
124
  define_schema do
125
125
  attribute :id, Redress::Types::Coercible::Integer
data/lib/redress/form.rb CHANGED
@@ -19,7 +19,7 @@ module Redress
19
19
  attr_reader :context
20
20
 
21
21
  transform_keys(&:to_sym)
22
- transform_types { |type| type.meta(omittable: true) }
22
+ transform_types(&:omittable)
23
23
 
24
24
  def self.model_name
25
25
  ActiveModel::Name.new(self, nil, mimicked_model_name.to_s.camelize)
@@ -82,7 +82,7 @@ module Redress
82
82
  protected
83
83
 
84
84
  def write_attribute(name, value)
85
- return unless self.class.attribute?(name)
85
+ return unless self.class.has_attribute?(name)
86
86
 
87
87
  @attributes[name] = safe_coercion(name, value)
88
88
  end
@@ -90,9 +90,9 @@ module Redress
90
90
  private
91
91
 
92
92
  def safe_coercion(name, value)
93
- type = self.class.schema[name]
93
+ type = self.class.schema.key(name)
94
94
  type[value]
95
- rescue ArgumentError
95
+ rescue Dry::Types::CoercionError
96
96
  nil
97
97
  end
98
98
  end
@@ -12,7 +12,7 @@ module Redress
12
12
  end
13
13
 
14
14
  def self.version
15
- '0.3.2'
15
+ '0.4.0'
16
16
  end
17
17
 
18
18
  def self.version_label
data/lib/redress/types.rb CHANGED
@@ -4,6 +4,6 @@ require 'dry-types'
4
4
 
5
5
  module Redress
6
6
  module Types
7
- include Dry::Types.module
7
+ include Dry::Types()
8
8
  end
9
9
  end
@@ -34,7 +34,9 @@ module Redress
34
34
 
35
35
  def extract_attributes
36
36
  hash = model_attributes.merge!(prefix_attibutes)
37
- AttributesHash.new(hash).extract!(*@klass.schema.keys)
37
+ declared_keys = @klass.schema.keys.map(&:name)
38
+
39
+ AttributesHash.new(hash).extract!(*declared_keys)
38
40
  end
39
41
 
40
42
  def prefix_attibutes
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: redress
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.2
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Igor Galeta
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-02-22 00:00:00.000000000 Z
11
+ date: 2019-07-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activemodel
@@ -30,28 +30,28 @@ dependencies:
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: 0.5.0
33
+ version: '1.0'
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.5.0
40
+ version: '1.0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: dry-types
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: 0.13.2
47
+ version: '1.1'
48
48
  type: :runtime
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: 0.13.2
54
+ version: '1.1'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: hashie
57
57
  requirement: !ruby/object:Gem::Requirement
@@ -251,7 +251,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
251
251
  requirements:
252
252
  - - "~>"
253
253
  - !ruby/object:Gem::Version
254
- version: '2.3'
254
+ version: '2.5'
255
255
  required_rubygems_version: !ruby/object:Gem::Requirement
256
256
  requirements:
257
257
  - - ">="