bard-tag_field 0.5.0 → 0.5.1
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 +4 -4
- data/Rakefile +3 -1
- data/bard-tag_field.gemspec +5 -0
- data/cucumber.yml +1 -0
- data/lib/bard/tag_field/cucumber.rb +13 -2
- data/lib/bard/tag_field/field.rb +3 -2
- data/lib/bard/tag_field/version.rb +1 -1
- metadata +76 -5
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 63dcbc22c1ab61723177f5ae24d9ce800ce276274491a390b0495c17352c519c
|
|
4
|
+
data.tar.gz: 91e3c318345b56a48bcea2b48903ddd16f684c2ae098f8a416ce0fec0d14cc0e
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: f2565d04096d161a991258f0b8a0c796775be897c7a4710c16ba169e5807562a044ede61f2ad5d5a1f975efbb4e887718e16730862b2ab3fddd0952b8ecd6604
|
|
7
|
+
data.tar.gz: ae2bc2e85a57311e5a2a472346665459cae033bb8b44900fdfb1df0043bd3e92a349de2162bfe289515905cff74f4a54b44ec85f06cc765728190922c99b6087
|
data/Rakefile
CHANGED
|
@@ -2,10 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
require "bundler/gem_tasks"
|
|
4
4
|
require "rspec/core/rake_task"
|
|
5
|
+
require "cucumber/rake/task"
|
|
5
6
|
|
|
6
7
|
RSpec::Core::RakeTask.new(:spec)
|
|
8
|
+
Cucumber::Rake::Task.new(:cucumber)
|
|
7
9
|
|
|
8
|
-
task default: :spec
|
|
10
|
+
task default: [:spec, :cucumber]
|
|
9
11
|
|
|
10
12
|
desc "Build JavaScript assets"
|
|
11
13
|
task :build_js do
|
data/bard-tag_field.gemspec
CHANGED
|
@@ -34,6 +34,11 @@ Gem::Specification.new do |spec|
|
|
|
34
34
|
spec.add_development_dependency "rspec-rails"
|
|
35
35
|
spec.add_development_dependency "equivalent-xml"
|
|
36
36
|
spec.add_development_dependency "appraisal"
|
|
37
|
+
spec.add_development_dependency "capybara"
|
|
38
|
+
spec.add_development_dependency "cuprite"
|
|
39
|
+
spec.add_development_dependency "chop"
|
|
40
|
+
spec.add_development_dependency "cucumber-rails"
|
|
41
|
+
spec.add_development_dependency "puma"
|
|
37
42
|
|
|
38
43
|
# For more information and examples about making a new gem, checkout our
|
|
39
44
|
# guide at: https://bundler.io/guides/creating_gem.html
|
data/cucumber.yml
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
default: --publish-quiet
|
|
@@ -16,11 +16,22 @@ class Chop::Form::TagField < Chop::Form::Field
|
|
|
16
16
|
end
|
|
17
17
|
|
|
18
18
|
def set_value
|
|
19
|
-
if field[:multiple]
|
|
19
|
+
values = if field[:multiple]
|
|
20
20
|
value.to_s.split(", ").map(&:strip)
|
|
21
21
|
else
|
|
22
|
-
value.to_s.strip
|
|
22
|
+
[value.to_s.strip]
|
|
23
23
|
end
|
|
24
|
+
|
|
25
|
+
# Resolve display labels to submit values using datalist
|
|
26
|
+
datalist_options = field.all("datalist option", visible: false)
|
|
27
|
+
if datalist_options.any?
|
|
28
|
+
label_to_value = datalist_options.each_with_object({}) do |opt, hash|
|
|
29
|
+
hash[opt[:innerText]] = opt[:value]
|
|
30
|
+
end
|
|
31
|
+
values = values.map { |v| label_to_value[v] || v }
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
field[:multiple] ? values : values.first
|
|
24
35
|
end
|
|
25
36
|
|
|
26
37
|
def fill_in!
|
data/lib/bard/tag_field/field.rb
CHANGED
|
@@ -2,10 +2,11 @@ module Bard
|
|
|
2
2
|
module TagField
|
|
3
3
|
class Field < ActionView::Helpers::Tags::TextField
|
|
4
4
|
def render &block
|
|
5
|
+
@options = @options.dup.transform_keys(&:to_s)
|
|
5
6
|
add_default_name_and_id(@options)
|
|
6
7
|
|
|
7
8
|
# Remove choices from HTML options before rendering
|
|
8
|
-
choices = @options.delete(
|
|
9
|
+
choices = @options.delete("choices")
|
|
9
10
|
|
|
10
11
|
# Store choices for render_object_values method
|
|
11
12
|
@choices = choices
|
|
@@ -14,7 +15,7 @@ module Bard
|
|
|
14
15
|
content = block ? block.call(@options) : render_object_values
|
|
15
16
|
|
|
16
17
|
# Add nested anonymous datalist if we have choices, no block, and no external list specified
|
|
17
|
-
if choices&.any? && !block && !@options[
|
|
18
|
+
if choices&.any? && !block && !@options["list"]
|
|
18
19
|
content += render_datalist(nil, choices)
|
|
19
20
|
end
|
|
20
21
|
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: bard-tag_field
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.5.
|
|
4
|
+
version: 0.5.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Micah Geisel
|
|
8
|
-
autorequire:
|
|
8
|
+
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2025-
|
|
11
|
+
date: 2025-12-23 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: rails
|
|
@@ -66,6 +66,76 @@ dependencies:
|
|
|
66
66
|
- - ">="
|
|
67
67
|
- !ruby/object:Gem::Version
|
|
68
68
|
version: '0'
|
|
69
|
+
- !ruby/object:Gem::Dependency
|
|
70
|
+
name: capybara
|
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
|
72
|
+
requirements:
|
|
73
|
+
- - ">="
|
|
74
|
+
- !ruby/object:Gem::Version
|
|
75
|
+
version: '0'
|
|
76
|
+
type: :development
|
|
77
|
+
prerelease: false
|
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
79
|
+
requirements:
|
|
80
|
+
- - ">="
|
|
81
|
+
- !ruby/object:Gem::Version
|
|
82
|
+
version: '0'
|
|
83
|
+
- !ruby/object:Gem::Dependency
|
|
84
|
+
name: cuprite
|
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
|
86
|
+
requirements:
|
|
87
|
+
- - ">="
|
|
88
|
+
- !ruby/object:Gem::Version
|
|
89
|
+
version: '0'
|
|
90
|
+
type: :development
|
|
91
|
+
prerelease: false
|
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
93
|
+
requirements:
|
|
94
|
+
- - ">="
|
|
95
|
+
- !ruby/object:Gem::Version
|
|
96
|
+
version: '0'
|
|
97
|
+
- !ruby/object:Gem::Dependency
|
|
98
|
+
name: chop
|
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
|
100
|
+
requirements:
|
|
101
|
+
- - ">="
|
|
102
|
+
- !ruby/object:Gem::Version
|
|
103
|
+
version: '0'
|
|
104
|
+
type: :development
|
|
105
|
+
prerelease: false
|
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
107
|
+
requirements:
|
|
108
|
+
- - ">="
|
|
109
|
+
- !ruby/object:Gem::Version
|
|
110
|
+
version: '0'
|
|
111
|
+
- !ruby/object:Gem::Dependency
|
|
112
|
+
name: cucumber-rails
|
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
|
114
|
+
requirements:
|
|
115
|
+
- - ">="
|
|
116
|
+
- !ruby/object:Gem::Version
|
|
117
|
+
version: '0'
|
|
118
|
+
type: :development
|
|
119
|
+
prerelease: false
|
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
121
|
+
requirements:
|
|
122
|
+
- - ">="
|
|
123
|
+
- !ruby/object:Gem::Version
|
|
124
|
+
version: '0'
|
|
125
|
+
- !ruby/object:Gem::Dependency
|
|
126
|
+
name: puma
|
|
127
|
+
requirement: !ruby/object:Gem::Requirement
|
|
128
|
+
requirements:
|
|
129
|
+
- - ">="
|
|
130
|
+
- !ruby/object:Gem::Version
|
|
131
|
+
version: '0'
|
|
132
|
+
type: :development
|
|
133
|
+
prerelease: false
|
|
134
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
135
|
+
requirements:
|
|
136
|
+
- - ">="
|
|
137
|
+
- !ruby/object:Gem::Version
|
|
138
|
+
version: '0'
|
|
69
139
|
description: form.tag_field using @botandrose/input-tag custom element
|
|
70
140
|
email:
|
|
71
141
|
- micah@botandrose.com
|
|
@@ -84,6 +154,7 @@ files:
|
|
|
84
154
|
- bard-tag_field.gemspec
|
|
85
155
|
- bin/console
|
|
86
156
|
- bin/setup
|
|
157
|
+
- cucumber.yml
|
|
87
158
|
- gemfiles/rails_7.1.gemfile
|
|
88
159
|
- gemfiles/rails_7.2.gemfile
|
|
89
160
|
- gemfiles/rails_8.0.gemfile
|
|
@@ -105,7 +176,7 @@ metadata:
|
|
|
105
176
|
homepage_uri: https://github.com/botandrose/bard-tag_field
|
|
106
177
|
source_code_uri: https://github.com/botandrose/bard-tag_field
|
|
107
178
|
changelog_uri: https://github.com/botandrose/bard-tag_field/blob/master/CHANGELOG.md
|
|
108
|
-
post_install_message:
|
|
179
|
+
post_install_message:
|
|
109
180
|
rdoc_options: []
|
|
110
181
|
require_paths:
|
|
111
182
|
- lib
|
|
@@ -121,7 +192,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
121
192
|
version: '0'
|
|
122
193
|
requirements: []
|
|
123
194
|
rubygems_version: 3.5.11
|
|
124
|
-
signing_key:
|
|
195
|
+
signing_key:
|
|
125
196
|
specification_version: 4
|
|
126
197
|
summary: form.tag_field using @botandrose/input-tag custom element
|
|
127
198
|
test_files: []
|