formulario 0.1.2 → 0.1.3

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: '0867e98803900dc528b0ddf98bc40c61f49f341db67505eeece67c907130f643'
4
- data.tar.gz: 0af39ae95fcde7fd7fd1e94558aaa28ab5448a0aac207fcf766a7a7e552831d7
3
+ metadata.gz: 43e7e8ebe1194dd3fa79eff4b7e39912f5317449fb32b5ed295702a4a97c1d4e
4
+ data.tar.gz: f7ca81de7f65724ec3fda76f7fe065a55b364fb58bd97f25a3aee7c5a0616198
5
5
  SHA512:
6
- metadata.gz: 2987de933081e551f44b088575fe43a64cb55602964200c14a4d52bba0a5d6193f6ceb64047780c84dfc913d62e33268da552cf7249bbfd35ad3edea8db28604
7
- data.tar.gz: 1a1b5bb1ebc52fe2610d9149e5789539c56683a0759aacd71f0f8a0d5d7895ab2ad8441679a2ffac1d5c40d099520c2e20933c7936f53ab5a4cbf0515787de16
6
+ metadata.gz: 3f080136b212a227067d474c84f0b5b5ade318115b66ad950822a3c2c7da9e65a330b2141c4999cb569d65130de70d968ef2161a2eb68a1dd953ab7cea0b3aea
7
+ data.tar.gz: 815b0224ea87ced887e7b916f598dd9bbabe344f307076874de2748684133bd5328cd83fa666c52dd5da8ea3faf696c18a633cdfc054280862cd4c65b135bb6f
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- formulario (0.1.2)
4
+ formulario (0.1.3)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
@@ -1,14 +1,6 @@
1
1
  module Formulario
2
2
  class Field
3
3
  class Boolean < Field
4
- def self.for(raw_value)
5
- if raw_value.is_a?(Field)
6
- raw_value
7
- else
8
- build(raw_value)
9
- end
10
- end
11
-
12
4
  private
13
5
 
14
6
  def self.build(raw_value)
@@ -25,6 +17,10 @@ module Formulario
25
17
  def self.get_value(raw_value)
26
18
  raw_value.to_s.downcase
27
19
  end
20
+
21
+ def self.default
22
+ new(false)
23
+ end
28
24
  end
29
25
  end
30
26
  end
@@ -22,7 +22,7 @@ module Formulario
22
22
  if raw_value.is_a?(Field)
23
23
  raw_value
24
24
  elsif ::Formulario::Utils.empty?(raw_value)
25
- Blank.new
25
+ default
26
26
  else
27
27
  build(raw_value)
28
28
  end
@@ -37,6 +37,10 @@ module Formulario
37
37
  end
38
38
  end
39
39
 
40
+ def self.default
41
+ Blank.new
42
+ end
43
+
40
44
  def exceptional?
41
45
  false
42
46
  end
@@ -13,6 +13,10 @@ module Formulario
13
13
  @type
14
14
  end
15
15
 
16
+ def self.default
17
+ new(type.default)
18
+ end
19
+
16
20
  def value
17
21
  form.params
18
22
  end
@@ -29,8 +33,13 @@ module Formulario
29
33
  fields[value]
30
34
  end
31
35
 
32
- def initialize(**raw_value)
33
- @form = self.class.type.new(**raw_value)
36
+ def initialize(raw_value)
37
+ @form = if raw_value.is_a?(::Formulario::Form)
38
+ raw_value
39
+ else
40
+ self.class.type.new(**raw_value)
41
+ end
42
+
34
43
  super
35
44
  end
36
45
 
@@ -74,20 +74,13 @@ module Formulario
74
74
 
75
75
  def self.field(field_name,
76
76
  field_type=Field,
77
- default: ::Formulario::Field::Blank.new)
77
+ default: Field.type_for(field_type).default)
78
78
 
79
79
  __fields[field_name.to_sym] = {
80
80
  default: default,
81
81
  validators: [],
82
82
  }
83
83
 
84
-
85
- # TODO: TEST AND CHANGE THIS
86
- if field_type == ::Formulario::Form
87
- default = ::Formulario::FormField[field_type.default]
88
- end
89
-
90
-
91
84
  define_method(field_name) do
92
85
  __fields.dig(field_name.to_sym, :value)
93
86
  end
@@ -1,3 +1,3 @@
1
1
  module Formulario
2
- VERSION = "0.1.2"
2
+ VERSION = "0.1.3"
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.2
4
+ version: 0.1.3
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-08-27 00:00:00.000000000 Z
11
+ date: 2019-08-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler