formulario 0.1.2 → 0.1.3

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