form_props 0.2.1 → 0.2.2

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: 04e4a4f4bfea7086f93ea5383e606c63eb38289cc1a0472c847e4a620c2c4903
4
- data.tar.gz: 318dbf7cd2439e6b6eec026ae1af88b8cf4828b78be8356189bbbc299449b6f1
3
+ metadata.gz: bbf118cf4f266c24efb36cee5ae09ad5a77955b6a007d1f468ea6e23667684e2
4
+ data.tar.gz: f0738373f48cef6f9f78266dc13786866293ce2578befe40bb8f85a9c436d14d
5
5
  SHA512:
6
- metadata.gz: 0d157f640f699a4a063348075ccfa9f0b6d486623e0e60ef3fe6c68f1410b7afdbd73b161f8c559a4a9144f1d8dade3b09c0f794497504d3873fd6124362df67
7
- data.tar.gz: 4c6af208f066db03e508f1f0ca2fb89b2983900420f17d2fe0d8da8e763aaac236a7961a2809a28ed017da9baf408faea102d8b21556f4a58215b5508f51d530
6
+ metadata.gz: fdba9e9240c0a456f24fb12077c609f2818e94fa20e8edc233c2928446bd43562d7452325d0876aac2ad6a4e8bff1b56594c5fe1efdd04a255a53ade1eeed85a
7
+ data.tar.gz: 02fa72d0098e3f952d8561ab4318a6f489569a744f2791bb9e4d9bd1fb6bafcba942cbef8b21a22a3e6f8c1a5d9014015a6ffb3f7fa985bf3fe098d2ee1223fd
data/README.md CHANGED
@@ -30,7 +30,7 @@ and `bundle install`
30
30
 
31
31
  ```ruby
32
32
  json.some_form do
33
- form_props(@post) do |f|
33
+ form_props(model: @post) do |f|
34
34
  f.text_field :title
35
35
  f.submit
36
36
  end
@@ -125,7 +125,7 @@ For example:
125
125
 
126
126
  ```js
127
127
  json.some_form do
128
- form_props(@post) do |f|
128
+ form_props(model: @post) do |f|
129
129
  f.time_zone_select(:time_zone)
130
130
  ...
131
131
  end
@@ -157,7 +157,7 @@ form_props doesn't handle form errors, but you can easily add this functionality
157
157
 
158
158
  ```ruby
159
159
  json.someForm do
160
- form_props(@post) do |f|
160
+ form_props(model: @post) do |f|
161
161
  f.text_field :title
162
162
  end
163
163
 
@@ -180,7 +180,7 @@ from `defaultValue` to `value`, by using `controlled: true`. For example:
180
180
 
181
181
  ```ruby
182
182
  json.some_form do
183
- form_props(@post, controlled: true) do |f|
183
+ form_props(model: @post, controlled: true) do |f|
184
184
  f.text_field :title
185
185
  end
186
186
  end
@@ -3,6 +3,12 @@
3
3
  module FormProps
4
4
  module Inputs
5
5
  class Base < ::ActionView::Helpers::Tags::Base
6
+ # Remove when no longer supporting Rails 7
7
+ if ActionView::VERSION::STRING < "8"
8
+ alias_method :add_default_name_and_field_for_value, :add_default_name_and_id_for_value
9
+ alias_method :add_default_name_and_field, :add_default_name_and_id
10
+ end
11
+
6
12
  def json
7
13
  @json ||= @template_object.instance_variable_get(:@__json)
8
14
  end
@@ -13,7 +19,7 @@ module FormProps
13
19
  @controlled = options.delete(:controlled)
14
20
  @key = options.delete(:key)
15
21
 
16
- super(object_name, method_name, template_object, options)
22
+ super
17
23
  end
18
24
 
19
25
  private
@@ -28,10 +28,10 @@ module FormProps
28
28
 
29
29
  body_block = -> {
30
30
  if options[:multiple]
31
- add_default_name_and_id_for_value(@checked_value, options)
31
+ add_default_name_and_field_for_value(@checked_value, options)
32
32
  options.delete(:multiple)
33
33
  else
34
- add_default_name_and_id(options)
34
+ add_default_name_and_field(options)
35
35
  end
36
36
 
37
37
  input_props(options)
@@ -23,7 +23,7 @@ module FormProps
23
23
  @options[:checked] = true if input_checked?(@options)
24
24
 
25
25
  body_block = -> {
26
- add_default_name_and_id_for_value(@tag_value, @options)
26
+ add_default_name_and_field_for_value(@tag_value, @options)
27
27
  input_props(@options)
28
28
  }
29
29
 
@@ -9,7 +9,7 @@ module FormProps
9
9
 
10
10
  def render
11
11
  json.set!(sanitized_key) do
12
- add_default_name_and_id(@options)
12
+ add_default_name_and_field(@options)
13
13
  @options[:type] ||= field_type
14
14
  @options[:value] = @options.fetch(:value) { value_before_type_cast }
15
15
 
@@ -13,7 +13,7 @@ module FormProps
13
13
  @options[:value] = @options.fetch(:value) { value_before_type_cast } unless field_type == "file"
14
14
 
15
15
  json.set!(sanitized_key) do
16
- add_default_name_and_id(@options)
16
+ add_default_name_and_field(@options)
17
17
  input_props(@options)
18
18
  end
19
19
  end
@@ -23,7 +23,7 @@ module FormProps
23
23
 
24
24
  def select_content_props(option_tags, options, html_options)
25
25
  html_options = html_options.stringify_keys
26
- add_default_name_and_id(html_options)
26
+ add_default_name_and_field(html_options)
27
27
 
28
28
  if placeholder_required?(html_options)
29
29
  raise ArgumentError, "include_blank cannot be false for a required field." if options[:include_blank] == false
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module FormProps
4
- VERSION = "0.2.1"
4
+ VERSION = "0.2.2"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: form_props
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Johny Ho
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2025-01-01 00:00:00.000000000 Z
11
+ date: 2025-10-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -127,7 +127,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
127
127
  - !ruby/object:Gem::Version
128
128
  version: '0'
129
129
  requirements: []
130
- rubygems_version: 3.5.22
130
+ rubygems_version: 3.5.16
131
131
  signing_key:
132
132
  specification_version: 4
133
133
  summary: Form props is a Rails form builder that renders form attributes in JSON