formulario 0.1.6 → 0.1.8

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: 273d0e050429479bb6a1a170ea7e0e86adf0fb445be85cbab978c4d0d6c7fc6f
4
- data.tar.gz: 80dbac663baaf27f6f0f7611b32b7c2b2aa70cb80f8eca8d79bb07f61c2cff9e
3
+ metadata.gz: 24abc8ebb3ec38dfdf384d5dff1bf8b63424a9dc99a9f9224c9fea4e21a6fef4
4
+ data.tar.gz: d9796024e2c19dd1b9d0c462ec55a5df05eda87c42bfbcc957cfe7bdb55b6097
5
5
  SHA512:
6
- metadata.gz: 41e50dd9124f6f809d6a2e1d6b513bf4b65795292e75a61ab7c3357d4da099e8a0b152359b967df803f7b9791b4a2bb71799fa713dd568d6c47c842415ad602e
7
- data.tar.gz: afaded423accd97236478ac2d490330c3d9dbb4178b010049aa6f9b99babd0f244ff98c8c5f19dd889a4ce2f4b3f6b4463dc9097196236f771c6d700ec33ee4c
6
+ metadata.gz: aa6aeb6e0c1fd578d7fe483f3487ec3fdd56acfd0db5a39407909c9e5017d830bab561d990f7e937c238f6360e35225561f4c4b2469a8507c9923d7a8c3104ca
7
+ data.tar.gz: 13b14f8549d6abc9d193079c97c24405247dea4c83664c91993fed529d512b9431e4037ee353af7d11642a8b274454d727110a17cef31d4b73361cdd53ca2859
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- formulario (0.1.6)
4
+ formulario (0.1.8)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
@@ -9,7 +9,6 @@ module Formulario
9
9
  new(raw_value, reasons: reasons)
10
10
  end
11
11
 
12
-
13
12
  def exceptional?
14
13
  true
15
14
  end
@@ -26,6 +25,10 @@ module Formulario
26
25
  reasons.each(&block)
27
26
  end
28
27
 
28
+ def exceptional_class
29
+ self.class
30
+ end
31
+
29
32
  private
30
33
 
31
34
  def initialize(raw_value, reasons: Undefined)
@@ -43,7 +46,6 @@ module Formulario
43
46
 
44
47
  super(value)
45
48
  end
46
-
47
49
  end
48
50
  end
49
51
  end
@@ -67,6 +67,10 @@ module Formulario
67
67
  value == new_other.value
68
68
  end
69
69
 
70
+ def exceptional_class
71
+ ::Formulario::Field::ExceptionalValue
72
+ end
73
+
70
74
  private
71
75
 
72
76
  def self.build(raw_value)
@@ -66,7 +66,7 @@ module Formulario
66
66
  validator_hash[:validator].message
67
67
  end
68
68
 
69
- ::Formulario::Field::ExceptionalValue
69
+ value.exceptional_class
70
70
  .new(current_value,
71
71
  reasons: message || validator_hash[:message])
72
72
  end
@@ -15,11 +15,15 @@ module Formulario
15
15
  end
16
16
 
17
17
  def self.for(model, **rest)
18
- fields = __fields.keys.each_with_object({}) { |field_name, res|
19
- res[field_name] = model.send(field_name)
20
- }
21
-
22
- new(**fields.merge({model: model, **rest}))
18
+ if model
19
+ fields = __fields.keys.each_with_object({}) { |field_name, res|
20
+ res[field_name] = model.send(field_name)
21
+ }
22
+
23
+ new(**fields.merge({model: model, **rest}))
24
+ else
25
+ new(**rest)
26
+ end
23
27
  end
24
28
 
25
29
  def self.default
@@ -1,3 +1,3 @@
1
1
  module Formulario
2
- VERSION = "0.1.6"
2
+ VERSION = "0.1.8"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: formulario
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.6
4
+ version: 0.1.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Federico Iachetti
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-11-26 00:00:00.000000000 Z
11
+ date: 2019-11-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler