chop 0.33.0 → 0.34.0

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: 868781a325834ba16e2c11c805000c297112f240f8281621b18cb5071c5f15cd
4
- data.tar.gz: f51613e8b656c09365af2f979e6eeb4422477f46b468c22052cb95027e6c6610
3
+ metadata.gz: 1a613f54861062b0c60a0891be72f7c393b6f34e16f0cad21b7a90a34832e399
4
+ data.tar.gz: d06cec54f54c2c7b3a98234edbdadd943ec8f77aec444ab08f84133d537cae25
5
5
  SHA512:
6
- metadata.gz: cd1478641ca080eeef44a0db7ebff0433fac53517cad580c5361323457a263a5896976b244633363844f8a53bfa9abba42482eb583d8ee7483c69462b3c2fbf1
7
- data.tar.gz: 02a7705bd65bb02d102cfc7e4c873a890476a6f48eaba0334515442d11c9a32ab1d1d3d4af8947144ba03e7e1db4b4e5b41cf931584219c946e8f7430f157502
6
+ metadata.gz: e7e8446a59eb6a7e2058038f2721c64f1a459d64202176cd358fa505817a3a3fc2f604a3687bfd16d7cc3fa1fa26adb13c07fb5e5f5bb006c38e8cd2b69a89c5
7
+ data.tar.gz: 6b59ec9ce62b1fe3c1f0858e45310f05df72036e1aa653b8fe1e8a6cc4266ffe26327714c0611e9287cdd0891f9e5b44a2200dd769e7567fd7d8d5da7f7cf1e1
data/lib/chop/create.rb CHANGED
@@ -157,7 +157,8 @@ module Chop
157
157
  end
158
158
  end
159
159
 
160
- def has_many key, klass=nil, delimiter: ", ", field: :name
160
+ def has_many key, klass=nil, delimiter: ", ", field: :name, find_by: nil
161
+ field = find_by if find_by
161
162
  klass ||= key.to_s.classify.constantize
162
163
  self.field key do |names|
163
164
  names.split(delimiter).map do |name|
@@ -166,7 +167,8 @@ module Chop
166
167
  end
167
168
  end
168
169
 
169
- def has_one key, klass=nil, field: :name
170
+ def has_one key, klass=nil, field: :name, find_by: nil
171
+ field = find_by if find_by
170
172
  klass ||= key.to_s.classify.constantize
171
173
  self.field key do |name|
172
174
  klass.find_by!(field => name) if name.present?
data/lib/chop/form.rb CHANGED
@@ -80,7 +80,7 @@ module Chop
80
80
 
81
81
  class MultipleSelect < Field
82
82
  def matches?
83
- field.tag_name == "select" && field[:multiple]
83
+ field.tag_name == "select" && field[:multiple].to_s == "true"
84
84
  end
85
85
 
86
86
  def fill_in!
@@ -95,7 +95,7 @@ module Chop
95
95
 
96
96
  class Select < Field
97
97
  def matches?
98
- field.tag_name == "select" && !field[:multiple]
98
+ field.tag_name == "select" && field[:multiple].to_s == "false"
99
99
  end
100
100
 
101
101
  def fill_in!
data/lib/chop/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Chop
2
- VERSION = "0.33.0"
2
+ VERSION = "0.34.0"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: chop
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.33.0
4
+ version: 0.34.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Micah Geisel
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2025-02-11 00:00:00.000000000 Z
11
+ date: 2025-07-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord