redress 0.3.2 → 0.4.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: 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
  - - ">="