protos-protoform 0.0.2 → 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.rubocop.yml +1 -1
- data/CHANGELOG.md +11 -2
- data/Gemfile.lock +36 -33
- data/lib/protoform/field_collection.rb +2 -2
- data/lib/protoform/namespace.rb +4 -4
- data/lib/protoform/namespace_collection.rb +2 -2
- data/lib/protoform/rails/component.rb +2 -0
- data/lib/protoform/rails/components/button.rb +2 -1
- data/lib/protoform/rails/components/component.rb +6 -0
- data/lib/protoform/rails/components/date.rb +41 -0
- data/lib/protoform/rails/components/datetime.rb +46 -0
- data/lib/protoform/rails/components/input.rb +2 -2
- data/lib/protoform/rails/components/label.rb +10 -2
- data/lib/protoform/rails/components/radio_button.rb +35 -0
- data/lib/protoform/rails/components/select.rb +5 -4
- data/lib/protoform/rails/components/time.rb +46 -0
- data/lib/protoform/rails/form/field.rb +16 -0
- data/lib/protoform/rails/form.rb +3 -3
- data/lib/protoform/rails/option_mapper.rb +2 -0
- data/lib/protoform/version.rb +1 -1
- data/protos-protoform.gemspec +4 -2
- metadata +38 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d87996776d7c98ac20d0f3f043bda6364cfe22be19ed00820e5c48df504837a5
|
4
|
+
data.tar.gz: 506204d5092faccefb7eaab6506e437f43faa8b741322e84533589e8f5cd7334
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d6d4dad661cafa7395860cd52f131f8a536311f2a8c150f4c673d0136c6fa9dd69b66b144d06dec171c72d868ac5b00e8b890eb693073bf4c530d938e1d470c1
|
7
|
+
data.tar.gz: f25ccd64a68b57a41be47590cc5d3ed4d4cc39f3f8f055fb69bf6ed60008aff768fef68158030313ffb2aa0df4b1d6250b1e26c8779120b0308d12b7cb2ebd55
|
data/.rubocop.yml
CHANGED
data/CHANGELOG.md
CHANGED
@@ -1,6 +1,15 @@
|
|
1
1
|
## [Unreleased]
|
2
2
|
|
3
|
-
## [0.
|
3
|
+
## [0.1.0] - 2024-09-04
|
4
|
+
|
5
|
+
- Adds tests for all Rails components
|
6
|
+
- Adds `Time`, `Datetime`, `Date`, and `RadioButton` components
|
7
|
+
- Fixes a bug in `Button` component calling the wrong method on `attrs`
|
8
|
+
- Bumps supported Ruby version to 3.2
|
9
|
+
- Adds value suffix to labels allowing them to match radio button ids
|
10
|
+
- Bumps `protos` dependency to `v0.6.0`
|
11
|
+
|
12
|
+
## [0.0.2] - 2024-08-14
|
4
13
|
|
5
14
|
- Adds handling client supplied values like files and images
|
6
15
|
- Fixes overriding methods on forms when supplying a Rails model
|
@@ -8,6 +17,6 @@
|
|
8
17
|
- Transfers ownership of repo from `nolantait` to `inhouse-work` organization to
|
9
18
|
match other `protos-` gems
|
10
19
|
|
11
|
-
## [0.1
|
20
|
+
## [0.0.1] - 2023-06-23
|
12
21
|
|
13
22
|
- Initial release
|
data/Gemfile.lock
CHANGED
@@ -1,17 +1,19 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
protos-protoform (0.0
|
4
|
+
protos-protoform (0.1.0)
|
5
|
+
activerecord (~> 7.0)
|
6
|
+
activesupport (~> 7.0)
|
5
7
|
phlex-rails (~> 1.0)
|
6
|
-
protos (~> 0.
|
8
|
+
protos (~> 0.6)
|
7
9
|
zeitwerk (~> 2.6)
|
8
10
|
|
9
11
|
GEM
|
10
12
|
remote: https://rubygems.org/
|
11
13
|
specs:
|
12
|
-
actionpack (7.2.
|
13
|
-
actionview (= 7.2.
|
14
|
-
activesupport (= 7.2.
|
14
|
+
actionpack (7.2.1)
|
15
|
+
actionview (= 7.2.1)
|
16
|
+
activesupport (= 7.2.1)
|
15
17
|
nokogiri (>= 1.8.5)
|
16
18
|
racc
|
17
19
|
rack (>= 2.2.4, < 3.2)
|
@@ -20,15 +22,19 @@ GEM
|
|
20
22
|
rails-dom-testing (~> 2.2)
|
21
23
|
rails-html-sanitizer (~> 1.6)
|
22
24
|
useragent (~> 0.16)
|
23
|
-
actionview (7.2.
|
24
|
-
activesupport (= 7.2.
|
25
|
+
actionview (7.2.1)
|
26
|
+
activesupport (= 7.2.1)
|
25
27
|
builder (~> 3.1)
|
26
28
|
erubi (~> 1.11)
|
27
29
|
rails-dom-testing (~> 2.2)
|
28
30
|
rails-html-sanitizer (~> 1.6)
|
29
|
-
activemodel (7.2.
|
30
|
-
activesupport (= 7.2.
|
31
|
-
|
31
|
+
activemodel (7.2.1)
|
32
|
+
activesupport (= 7.2.1)
|
33
|
+
activerecord (7.2.1)
|
34
|
+
activemodel (= 7.2.1)
|
35
|
+
activesupport (= 7.2.1)
|
36
|
+
timeout (>= 0.4.0)
|
37
|
+
activesupport (7.2.1)
|
32
38
|
base64
|
33
39
|
bigdecimal
|
34
40
|
concurrent-ruby (~> 1.0, >= 1.3.1)
|
@@ -87,14 +93,14 @@ GEM
|
|
87
93
|
reline (>= 0.4.2)
|
88
94
|
json (2.7.2)
|
89
95
|
language_server-protocol (3.17.0.3)
|
90
|
-
logger (1.6.
|
96
|
+
logger (1.6.1)
|
91
97
|
loofah (2.22.0)
|
92
98
|
crass (~> 1.0.2)
|
93
99
|
nokogiri (>= 1.12.0)
|
94
100
|
lru_redux (1.1.0)
|
95
101
|
matrix (0.4.2)
|
96
102
|
mini_mime (1.1.5)
|
97
|
-
minitest (5.25.
|
103
|
+
minitest (5.25.1)
|
98
104
|
nokogiri (1.16.7-aarch64-linux)
|
99
105
|
racc (~> 1.4)
|
100
106
|
nokogiri (1.16.7-arm-linux)
|
@@ -107,8 +113,8 @@ GEM
|
|
107
113
|
racc (~> 1.4)
|
108
114
|
nokogiri (1.16.7-x86_64-linux)
|
109
115
|
racc (~> 1.4)
|
110
|
-
parallel (1.26.
|
111
|
-
parser (3.3.
|
116
|
+
parallel (1.26.3)
|
117
|
+
parser (3.3.5.0)
|
112
118
|
ast (~> 2.4.1)
|
113
119
|
racc
|
114
120
|
phlex (1.11.0)
|
@@ -119,7 +125,7 @@ GEM
|
|
119
125
|
phlex-testing-capybara (0.1.0)
|
120
126
|
capybara (~> 3.38)
|
121
127
|
phlex (>= 0.5)
|
122
|
-
protos (0.
|
128
|
+
protos (0.6.0)
|
123
129
|
dry-core (~> 1.0)
|
124
130
|
dry-initializer (~> 3.1)
|
125
131
|
dry-types (~> 1.7)
|
@@ -144,9 +150,9 @@ GEM
|
|
144
150
|
rails-html-sanitizer (1.6.0)
|
145
151
|
loofah (~> 2.21)
|
146
152
|
nokogiri (~> 1.14)
|
147
|
-
railties (7.2.
|
148
|
-
actionpack (= 7.2.
|
149
|
-
activesupport (= 7.2.
|
153
|
+
railties (7.2.1)
|
154
|
+
actionpack (= 7.2.1)
|
155
|
+
activesupport (= 7.2.1)
|
150
156
|
irb (~> 1.13)
|
151
157
|
rackup (>= 1.0.0)
|
152
158
|
rake (>= 12.2)
|
@@ -159,39 +165,36 @@ GEM
|
|
159
165
|
regexp_parser (2.9.2)
|
160
166
|
reline (0.5.9)
|
161
167
|
io-console (~> 0.5)
|
162
|
-
rexml (3.3.5)
|
163
|
-
strscan
|
164
168
|
rspec (3.13.0)
|
165
169
|
rspec-core (~> 3.13.0)
|
166
170
|
rspec-expectations (~> 3.13.0)
|
167
171
|
rspec-mocks (~> 3.13.0)
|
168
|
-
rspec-core (3.13.
|
172
|
+
rspec-core (3.13.1)
|
169
173
|
rspec-support (~> 3.13.0)
|
170
|
-
rspec-expectations (3.13.
|
174
|
+
rspec-expectations (3.13.2)
|
171
175
|
diff-lcs (>= 1.2.0, < 2.0)
|
172
176
|
rspec-support (~> 3.13.0)
|
173
177
|
rspec-mocks (3.13.1)
|
174
178
|
diff-lcs (>= 1.2.0, < 2.0)
|
175
179
|
rspec-support (~> 3.13.0)
|
176
180
|
rspec-support (3.13.1)
|
177
|
-
rubocop (1.
|
181
|
+
rubocop (1.66.1)
|
178
182
|
json (~> 2.3)
|
179
183
|
language_server-protocol (>= 3.17.0)
|
180
184
|
parallel (~> 1.10)
|
181
185
|
parser (>= 3.3.0.2)
|
182
186
|
rainbow (>= 2.2.2, < 4.0)
|
183
187
|
regexp_parser (>= 2.4, < 3.0)
|
184
|
-
|
185
|
-
rubocop-ast (>= 1.31.1, < 2.0)
|
188
|
+
rubocop-ast (>= 1.32.2, < 2.0)
|
186
189
|
ruby-progressbar (~> 1.7)
|
187
190
|
unicode-display_width (>= 2.4.0, < 3.0)
|
188
|
-
rubocop-ast (1.32.
|
191
|
+
rubocop-ast (1.32.2)
|
189
192
|
parser (>= 3.3.1.0)
|
190
193
|
rubocop-capybara (2.21.0)
|
191
194
|
rubocop (~> 1.41)
|
192
195
|
rubocop-factory_bot (2.26.1)
|
193
196
|
rubocop (~> 1.61)
|
194
|
-
rubocop-inhouse (0.
|
197
|
+
rubocop-inhouse (0.2.0)
|
195
198
|
rubocop (>= 1.5)
|
196
199
|
rubocop-capybara (>= 2.1)
|
197
200
|
rubocop-factory_bot (>= 2.2)
|
@@ -203,10 +206,10 @@ GEM
|
|
203
206
|
rubocop-performance (1.21.1)
|
204
207
|
rubocop (>= 1.48.1, < 2.0)
|
205
208
|
rubocop-ast (>= 1.31.1, < 2.0)
|
206
|
-
rubocop-rails (2.
|
209
|
+
rubocop-rails (2.26.0)
|
207
210
|
activesupport (>= 4.2.0)
|
208
211
|
rack (>= 1.1)
|
209
|
-
rubocop (>= 1.
|
212
|
+
rubocop (>= 1.52.0, < 2.0)
|
210
213
|
rubocop-ast (>= 1.31.1, < 2.0)
|
211
214
|
rubocop-rake (0.6.0)
|
212
215
|
rubocop (~> 1.0)
|
@@ -218,10 +221,10 @@ GEM
|
|
218
221
|
ruby-progressbar (1.13.0)
|
219
222
|
securerandom (0.3.1)
|
220
223
|
stringio (3.1.1)
|
221
|
-
|
222
|
-
tailwind_merge (0.12.0)
|
224
|
+
tailwind_merge (0.13.0)
|
223
225
|
lru_redux (~> 1.1)
|
224
|
-
thor (1.3.
|
226
|
+
thor (1.3.2)
|
227
|
+
timeout (0.4.1)
|
225
228
|
tzinfo (2.0.6)
|
226
229
|
concurrent-ruby (~> 1.0)
|
227
230
|
unicode-display_width (2.5.0)
|
@@ -229,7 +232,7 @@ GEM
|
|
229
232
|
webrick (1.8.1)
|
230
233
|
xpath (3.2.0)
|
231
234
|
nokogiri (~> 1.8)
|
232
|
-
zeitwerk (2.6.
|
235
|
+
zeitwerk (2.6.18)
|
233
236
|
|
234
237
|
PLATFORMS
|
235
238
|
aarch64-linux
|
data/lib/protoform/namespace.rb
CHANGED
@@ -120,8 +120,8 @@ module Protoform
|
|
120
120
|
end
|
121
121
|
|
122
122
|
# Creates a root Namespace, which is essentially a form.
|
123
|
-
def self.root(
|
124
|
-
new(
|
123
|
+
def self.root(*, **, &block)
|
124
|
+
new(*, parent: nil, **, &block)
|
125
125
|
end
|
126
126
|
|
127
127
|
protected
|
@@ -141,7 +141,7 @@ module Protoform
|
|
141
141
|
|
142
142
|
# Checks if the child exists. If it does then it returns that. If it
|
143
143
|
# doesn't, it will build the child.
|
144
|
-
def create_child(key:, child_class:,
|
144
|
+
def create_child(key:, child_class:, **, &block)
|
145
145
|
if (child = @children.fetch(key, nil))
|
146
146
|
# ensure that found children are also yielded
|
147
147
|
child.tap { yield child if block }
|
@@ -150,7 +150,7 @@ module Protoform
|
|
150
150
|
@children[key] = child_class.new(
|
151
151
|
key,
|
152
152
|
parent: self,
|
153
|
-
|
153
|
+
**,
|
154
154
|
&block
|
155
155
|
)
|
156
156
|
end
|
@@ -1,5 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
+
require "active_support/core_ext/string/inflections"
|
4
|
+
|
3
5
|
module Protoform
|
4
6
|
module Rails
|
5
7
|
module Components
|
@@ -9,6 +11,10 @@ module Protoform
|
|
9
11
|
def dom
|
10
12
|
field.dom
|
11
13
|
end
|
14
|
+
|
15
|
+
def title
|
16
|
+
field.key.to_s.titleize
|
17
|
+
end
|
12
18
|
end
|
13
19
|
end
|
14
20
|
end
|
@@ -0,0 +1,41 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Protoform
|
4
|
+
module Rails
|
5
|
+
module Components
|
6
|
+
class Date < Input
|
7
|
+
option :value, default: -> { field.value }
|
8
|
+
option :min, default: -> { }
|
9
|
+
option :max, default: -> { }
|
10
|
+
|
11
|
+
private
|
12
|
+
|
13
|
+
def default_attrs
|
14
|
+
super.merge(
|
15
|
+
{
|
16
|
+
type: "date",
|
17
|
+
value: date_value(value)
|
18
|
+
}
|
19
|
+
).tap do |attrs|
|
20
|
+
attrs[:min] = date_value(min) if min
|
21
|
+
attrs[:max] = date_value(max) if max
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
def date_value(value)
|
26
|
+
return unless value
|
27
|
+
|
28
|
+
if value.is_a?(String)
|
29
|
+
value = begin
|
30
|
+
Datetime.parse(value)
|
31
|
+
rescue Date::Error
|
32
|
+
nil
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
value.strftime("%Y-%m-%d")
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
@@ -0,0 +1,46 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Protoform
|
4
|
+
module Rails
|
5
|
+
module Components
|
6
|
+
class Datetime < Input
|
7
|
+
option :value, default: -> { field.value }
|
8
|
+
option :include_seconds, default: -> { true }, reader: false
|
9
|
+
option :min, default: -> { }
|
10
|
+
option :max, default: -> { }
|
11
|
+
|
12
|
+
private
|
13
|
+
|
14
|
+
def default_attrs
|
15
|
+
super.merge(
|
16
|
+
{
|
17
|
+
type: "datetime-local",
|
18
|
+
value: datetime_value(value)
|
19
|
+
}
|
20
|
+
).tap do |attrs|
|
21
|
+
attrs[:min] = datetime_value(min) if min
|
22
|
+
attrs[:max] = datetime_value(max) if max
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
def datetime_value(value)
|
27
|
+
return unless value
|
28
|
+
|
29
|
+
if value.is_a?(String)
|
30
|
+
value = begin
|
31
|
+
Datetime.parse(value)
|
32
|
+
rescue Date::Error
|
33
|
+
nil
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
if @include_seconds
|
38
|
+
value.strftime("%Y-%m-%dT%T")
|
39
|
+
else
|
40
|
+
value.strftime("%Y-%m-%dT%H:%M")
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
@@ -4,16 +4,24 @@ module Protoform
|
|
4
4
|
module Rails
|
5
5
|
module Components
|
6
6
|
class Label < Component
|
7
|
+
option :value, default: -> { }
|
8
|
+
|
7
9
|
def view_template(&content)
|
8
|
-
content ||= proc {
|
10
|
+
content ||= proc { title }
|
9
11
|
label(**attrs, &content)
|
10
12
|
end
|
11
13
|
|
12
14
|
private
|
13
15
|
|
16
|
+
def label_id
|
17
|
+
return dom.id unless value
|
18
|
+
|
19
|
+
[dom.id, value.parameterize.underscore].join("_")
|
20
|
+
end
|
21
|
+
|
14
22
|
def default_attrs
|
15
23
|
{
|
16
|
-
for:
|
24
|
+
for: label_id
|
17
25
|
}
|
18
26
|
end
|
19
27
|
end
|
@@ -0,0 +1,35 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Protoform
|
4
|
+
module Rails
|
5
|
+
module Components
|
6
|
+
class RadioButton < Input
|
7
|
+
# This makes value manditory in this class instead of being absorbed by
|
8
|
+
# the html_options hash from Protos.
|
9
|
+
option :value
|
10
|
+
|
11
|
+
private
|
12
|
+
|
13
|
+
def radio_id
|
14
|
+
return dom.id if dom.value.nil?
|
15
|
+
|
16
|
+
[dom.id, dom.value.parameterize.underscore].join("_")
|
17
|
+
end
|
18
|
+
|
19
|
+
def checked?
|
20
|
+
dom.value == field.value
|
21
|
+
end
|
22
|
+
|
23
|
+
def default_attrs
|
24
|
+
{
|
25
|
+
id: radio_id,
|
26
|
+
name: dom.name,
|
27
|
+
value: dom.value,
|
28
|
+
type: "radio",
|
29
|
+
checked: checked? ? "checked" : false
|
30
|
+
}
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
@@ -31,10 +31,7 @@ module Protoform
|
|
31
31
|
|
32
32
|
def options(*collection)
|
33
33
|
map_options(collection).each do |key, value|
|
34
|
-
option(
|
35
|
-
selected: selected_value_for(key) ? "selected" : false,
|
36
|
-
value: key
|
37
|
-
) { value }
|
34
|
+
option(selected: selected_value_for(key), value: key) { value }
|
38
35
|
end
|
39
36
|
end
|
40
37
|
|
@@ -53,6 +50,10 @@ module Protoform
|
|
53
50
|
protected
|
54
51
|
|
55
52
|
def selected_value_for(key)
|
53
|
+
selected?(key) ? "selected" : false
|
54
|
+
end
|
55
|
+
|
56
|
+
def selected?(key)
|
56
57
|
case field.value
|
57
58
|
when String, Symbol
|
58
59
|
field.value.to_s == key.to_s
|
@@ -0,0 +1,46 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Protoform
|
4
|
+
module Rails
|
5
|
+
module Components
|
6
|
+
class Time < Input
|
7
|
+
option :value, default: -> { field.value }
|
8
|
+
option :include_seconds, default: -> { true }, reader: false
|
9
|
+
option :min, default: -> { }
|
10
|
+
option :max, default: -> { }
|
11
|
+
|
12
|
+
private
|
13
|
+
|
14
|
+
def default_attrs
|
15
|
+
super.merge(
|
16
|
+
{
|
17
|
+
type: "time",
|
18
|
+
value: time_value(value)
|
19
|
+
}
|
20
|
+
).tap do |attrs|
|
21
|
+
attrs[:min] = time_value(min) if min
|
22
|
+
attrs[:max] = time_value(max) if max
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
def time_value(value)
|
27
|
+
return unless value
|
28
|
+
|
29
|
+
if value.is_a?(String)
|
30
|
+
value = begin
|
31
|
+
Datetime.parse(value)
|
32
|
+
rescue Date::Error
|
33
|
+
nil
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
if @include_seconds
|
38
|
+
value.strftime("%T.%L")
|
39
|
+
else
|
40
|
+
value.strftime("%H:%M")
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
@@ -36,6 +36,22 @@ module Protoform
|
|
36
36
|
Components::Checkbox.new(self, ...)
|
37
37
|
end
|
38
38
|
|
39
|
+
def date(...)
|
40
|
+
Components::Date.new(self, ...)
|
41
|
+
end
|
42
|
+
|
43
|
+
def time(...)
|
44
|
+
Components::Time.new(self, ...)
|
45
|
+
end
|
46
|
+
|
47
|
+
def datetime(...)
|
48
|
+
Components::Datetime.new(self, ...)
|
49
|
+
end
|
50
|
+
|
51
|
+
def radio_button(value, **)
|
52
|
+
Components::RadioButton.new(self, value:, **)
|
53
|
+
end
|
54
|
+
|
39
55
|
def label(...)
|
40
56
|
Components::Label.new(self, ...)
|
41
57
|
end
|
data/lib/protoform/rails/form.rb
CHANGED
@@ -16,11 +16,11 @@ module Protoform
|
|
16
16
|
class Form < Component
|
17
17
|
param :model, reader: false
|
18
18
|
option :authenticity_token, reader: false, default: -> { true }
|
19
|
-
option :helpers, reader: false, default: -> {}
|
20
|
-
option :action, reader: false, default: -> {}
|
19
|
+
option :helpers, reader: false, default: -> { }
|
20
|
+
option :action, reader: false, default: -> { }
|
21
21
|
option :method,
|
22
22
|
reader: false,
|
23
|
-
default: -> {}
|
23
|
+
default: -> { }
|
24
24
|
option :namespace, reader: false, default: -> do
|
25
25
|
Namespace.root(key, object: @model, field_class: self.class::Field)
|
26
26
|
end
|
data/lib/protoform/version.rb
CHANGED
data/protos-protoform.gemspec
CHANGED
@@ -12,7 +12,7 @@ Gem::Specification.new do |spec|
|
|
12
12
|
spec.description = "Build phlex based forms using Rails conventions"
|
13
13
|
spec.homepage = "https://github.com/inhouse-work/protos-protoform"
|
14
14
|
spec.license = "MIT"
|
15
|
-
spec.required_ruby_version = ">= 3.
|
15
|
+
spec.required_ruby_version = ">= 3.2.0"
|
16
16
|
|
17
17
|
spec.metadata["allowed_push_host"] = "https://rubygems.org"
|
18
18
|
|
@@ -42,8 +42,10 @@ Gem::Specification.new do |spec|
|
|
42
42
|
spec.executables = spec.files.grep(%r{\Aexe/}) { |f| File.basename(f) }
|
43
43
|
spec.require_paths = ["lib"]
|
44
44
|
|
45
|
+
spec.add_dependency "activerecord", "~> 7.0"
|
46
|
+
spec.add_dependency "activesupport", "~> 7.0"
|
45
47
|
spec.add_dependency "phlex-rails", "~> 1.0"
|
46
|
-
spec.add_dependency "protos", "~> 0.
|
48
|
+
spec.add_dependency "protos", "~> 0.6"
|
47
49
|
spec.add_dependency "zeitwerk", "~> 2.6"
|
48
50
|
spec.metadata["rubygems_mfa_required"] = "true"
|
49
51
|
end
|
metadata
CHANGED
@@ -1,15 +1,43 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: protos-protoform
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0
|
4
|
+
version: 0.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Nolan Tait
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-
|
11
|
+
date: 2024-09-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: activerecord
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '7.0'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '7.0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: activesupport
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '7.0'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '7.0'
|
13
41
|
- !ruby/object:Gem::Dependency
|
14
42
|
name: phlex-rails
|
15
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -30,14 +58,14 @@ dependencies:
|
|
30
58
|
requirements:
|
31
59
|
- - "~>"
|
32
60
|
- !ruby/object:Gem::Version
|
33
|
-
version: '0.
|
61
|
+
version: '0.6'
|
34
62
|
type: :runtime
|
35
63
|
prerelease: false
|
36
64
|
version_requirements: !ruby/object:Gem::Requirement
|
37
65
|
requirements:
|
38
66
|
- - "~>"
|
39
67
|
- !ruby/object:Gem::Version
|
40
|
-
version: '0.
|
68
|
+
version: '0.6'
|
41
69
|
- !ruby/object:Gem::Dependency
|
42
70
|
name: zeitwerk
|
43
71
|
requirement: !ruby/object:Gem::Requirement
|
@@ -81,11 +109,15 @@ files:
|
|
81
109
|
- lib/protoform/rails/components/button.rb
|
82
110
|
- lib/protoform/rails/components/checkbox.rb
|
83
111
|
- lib/protoform/rails/components/component.rb
|
112
|
+
- lib/protoform/rails/components/date.rb
|
113
|
+
- lib/protoform/rails/components/datetime.rb
|
84
114
|
- lib/protoform/rails/components/field_component.rb
|
85
115
|
- lib/protoform/rails/components/input.rb
|
86
116
|
- lib/protoform/rails/components/label.rb
|
117
|
+
- lib/protoform/rails/components/radio_button.rb
|
87
118
|
- lib/protoform/rails/components/select.rb
|
88
119
|
- lib/protoform/rails/components/textarea.rb
|
120
|
+
- lib/protoform/rails/components/time.rb
|
89
121
|
- lib/protoform/rails/form.rb
|
90
122
|
- lib/protoform/rails/form/field.rb
|
91
123
|
- lib/protoform/rails/option_mapper.rb
|
@@ -109,14 +141,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
109
141
|
requirements:
|
110
142
|
- - ">="
|
111
143
|
- !ruby/object:Gem::Version
|
112
|
-
version: 3.
|
144
|
+
version: 3.2.0
|
113
145
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
114
146
|
requirements:
|
115
147
|
- - ">="
|
116
148
|
- !ruby/object:Gem::Version
|
117
149
|
version: '0'
|
118
150
|
requirements: []
|
119
|
-
rubygems_version: 3.5.
|
151
|
+
rubygems_version: 3.5.18
|
120
152
|
signing_key:
|
121
153
|
specification_version: 4
|
122
154
|
summary: Phlex based form builder for Rails
|