formulario 0.1.6 → 0.1.8

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