ubicloud/Gemfile.lock
Jeremy Evans 5042633bb0 Support table-based model browsing and model searching on admin site using AutoForme
Table-based model browsing can be friendlier than the unordered list display
currently used on the admin site. However, you need to be careful to not
introduce N+1 queries when using table-based browsing.

AutoForme is a library that builds on top of Forme (already used on the
admin site) and provides the ability to browse and search the models in a
way that avoids N+1 queries.  It's quite flexible, requiring only a few
lines of configuration code per model to have it display and allow
searching of the columns desired.

AutoForme also supports CRUD actions for models, but those are currently
disabled, and it is only used for the tabular display and searching.
It also supports downloading of data in CSV format (both in browse and
search mode), which can be useful with external analysis tools.

One potential regression with the AutoForme based browsing and searching
is the use of offsets for pagination, instead of using a filter. If this
becomes problematic, it's possible to add filter-based pagination to
AutoForme.

While it is possible to implement table-based browsing without using
AutoForme, it would require reimplementing parts of AutoForme, and I
think using AutoForme will result in smaller and simpler code in the
long run.

Currently, this only implements the table-based browsing for Firewall
as a proof of concept. We can expand it to other models in the future.
2025-09-18 02:29:42 +09:00

543 lines
12 KiB
Text

GIT
remote: https://github.com/janko/rodauth-omniauth.git
revision: 477810179ba0cab8d459be1a0d87dca5b57ec94b
ref: 477810179ba0cab8d459be1a0d87dca5b57ec94b
specs:
rodauth-omniauth (0.6.0)
omniauth (~> 2.0)
rodauth (~> 2.36)
GIT
remote: https://github.com/ubicloud/erb-formatter.git
revision: df3174476986706828f7baf3e5e6f5ec8ecd849b
ref: df3174476986706828f7baf3e5e6f5ec8ecd849b
specs:
erb-formatter (0.7.3)
GEM
remote: https://rubygems.org/
specs:
Ascii85 (2.0.1)
acme-client (2.0.25)
base64 (~> 0.2)
faraday (>= 1.0, < 3.0.0)
faraday-retry (>= 1.0, < 3.0.0)
actionview (8.0.2.1)
activesupport (= 8.0.2.1)
builder (~> 3.1)
erubi (~> 1.11)
rails-dom-testing (~> 2.2)
rails-html-sanitizer (~> 1.6)
activesupport (8.0.2.1)
base64
benchmark (>= 0.3)
bigdecimal
concurrent-ruby (~> 1.0, >= 1.3.1)
connection_pool (>= 2.2.5)
drb
i18n (>= 1.6, < 2)
logger (>= 1.4.2)
minitest (>= 5.1)
securerandom (>= 0.3)
tzinfo (~> 2.0, >= 2.0.5)
uri (>= 0.13.1)
addressable (2.8.7)
public_suffix (>= 2.0.2, < 7.0)
afm (1.0.0)
android_key_attestation (0.3.0)
argon2 (2.3.2)
ffi (~> 1.15)
ffi-compiler (~> 1.0)
argon2-kdf (0.3.1)
fiddle
ast (2.4.3)
autoforme (1.13.0)
enum_csv
forme (>= 2.0.0)
rack
sequel (>= 3.0.0)
awesome_print (1.9.2)
aws-eventstream (1.3.2)
aws-partitions (1.1067.0)
aws-sdk-core (3.225.0)
aws-eventstream (~> 1, >= 1.3.0)
aws-partitions (~> 1, >= 1.992.0)
aws-sigv4 (~> 1.9)
base64
jmespath (~> 1, >= 1.6.1)
logger
aws-sdk-ec2 (1.512.0)
aws-sdk-core (~> 3, >= 3.216.0)
aws-sigv4 (~> 1.5)
aws-sdk-iam (1.123.0)
aws-sdk-core (~> 3, >= 3.225.0)
aws-sigv4 (~> 1.5)
aws-sdk-kms (1.99.0)
aws-sdk-core (~> 3, >= 3.216.0)
aws-sigv4 (~> 1.5)
aws-sdk-s3 (1.182.0)
aws-sdk-core (~> 3, >= 3.216.0)
aws-sdk-kms (~> 1)
aws-sigv4 (~> 1.5)
aws-sigv4 (1.11.0)
aws-eventstream (~> 1, >= 1.0.2)
base64 (0.3.0)
bcrypt_pbkdf (1.1.1)
bcrypt_pbkdf (1.1.1-arm64-darwin)
bcrypt_pbkdf (1.1.1-x86_64-darwin)
benchmark (0.4.1)
better_html (2.1.1)
actionview (>= 6.0)
activesupport (>= 6.0)
ast (~> 2.0)
erubi (~> 1.4)
parser (>= 2.4)
smart_properties
bigdecimal (3.2.2)
bindata (2.5.1)
brakeman (7.1.0)
racc
builder (3.3.0)
by (1.1.0)
byebug (12.0.0)
capybara (3.40.0)
addressable
matrix
mini_mime (>= 0.1.3)
nokogiri (~> 1.11)
rack (>= 1.6.0)
rack-test (>= 0.6.3)
regexp_parser (>= 1.5, < 3.0)
xpath (~> 3.2)
capybara-validate_html5 (2.1.0)
capybara
rack-test (>= 0.6)
cbor (0.5.10.1)
chunky_png (1.4.0)
coderay (1.1.3)
committee (5.5.5)
json_schema (~> 0.14, >= 0.14.3)
openapi_parser (~> 2.0)
rack (>= 1.5)
concurrent-ruby (1.3.5)
connection_pool (2.5.4)
cose (1.3.1)
cbor (~> 0.5.9)
openssl-signature_algorithm (~> 1.0)
countries (7.0.0)
unaccent (~> 0.3)
crack (1.0.0)
bigdecimal
rexml
crass (1.0.6)
csv (3.3.5)
cuprite (0.17)
capybara (~> 3.0)
ferrum (~> 0.17.0)
date (3.4.1)
diff-lcs (1.6.2)
docile (1.4.1)
drb (2.2.3)
ed25519 (1.4.0)
enum_csv (1.2.0)
csv
erubi (1.13.1)
excon (1.3.0)
logger
faraday (2.13.4)
faraday-net_http (>= 2.0, < 3.5)
json
logger
faraday-net_http (3.4.1)
net-http (>= 0.5.0)
faraday-retry (2.3.2)
faraday (~> 2.0)
ferrum (0.17.1)
addressable (~> 2.5)
base64 (~> 0.2)
concurrent-ruby (~> 1.1)
webrick (~> 1.7)
websocket-driver (~> 0.7)
ffi (1.17.2-aarch64-linux-gnu)
ffi (1.17.2-aarch64-linux-musl)
ffi (1.17.2-arm64-darwin)
ffi (1.17.2-x86_64-darwin)
ffi (1.17.2-x86_64-linux-gnu)
ffi (1.17.2-x86_64-linux-musl)
ffi-compiler (1.3.2)
ffi (>= 1.15.5)
rake
fiddle (1.1.8)
foreman (0.90.0)
thor (~> 1.4)
forme (2.7.0)
bigdecimal
hashdiff (1.2.0)
hashery (2.1.2)
hashie (5.0.0)
i18n (1.14.7)
concurrent-ruby (~> 1.0)
io-console (0.8.1)
jmespath (1.6.2)
json (2.13.2)
json_schema (0.21.0)
jwt (2.10.2)
base64
language_server-protocol (3.17.0.5)
lint_roller (1.1.0)
logger (1.7.0)
loofah (2.24.1)
crass (~> 1.0.2)
nokogiri (>= 1.12.0)
mail (2.8.1)
mini_mime (>= 0.1.1)
net-imap
net-pop
net-smtp
matrix (0.4.3)
method_source (1.1.0)
mini_mime (1.1.5)
minitest (5.25.5)
multi_xml (0.7.2)
bigdecimal (~> 3.1)
net-http (0.6.0)
uri
net-imap (0.5.9)
date
net-protocol
net-pop (0.1.2)
net-protocol
net-protocol (0.2.2)
timeout
net-smtp (0.5.1)
net-protocol
net-ssh (7.3.0)
netaddr (2.0.6)
nio4r (2.7.4)
nokogiri (1.18.9-aarch64-linux-gnu)
racc (~> 1.4)
nokogiri (1.18.9-aarch64-linux-musl)
racc (~> 1.4)
nokogiri (1.18.9-arm64-darwin)
racc (~> 1.4)
nokogiri (1.18.9-x86_64-darwin)
racc (~> 1.4)
nokogiri (1.18.9-x86_64-linux-gnu)
racc (~> 1.4)
nokogiri (1.18.9-x86_64-linux-musl)
racc (~> 1.4)
oauth2 (2.0.12)
faraday (>= 0.17.3, < 4.0)
jwt (>= 1.0, < 4.0)
logger (~> 1.2)
multi_xml (~> 0.5)
rack (>= 1.2, < 4)
snaky_hash (~> 2.0, >= 2.0.3)
version_gem (>= 1.1.8, < 3)
octokit (9.2.0)
faraday (>= 1, < 3)
sawyer (~> 0.9)
omniauth (2.1.3)
hashie (>= 3.4.6)
rack (>= 2.2.3)
rack-protection
omniauth-github (2.0.1)
omniauth (~> 2.0)
omniauth-oauth2 (~> 1.8)
omniauth-google-oauth2 (1.2.1)
jwt (>= 2.9.2)
oauth2 (~> 2.0)
omniauth (~> 2.0)
omniauth-oauth2 (~> 1.8)
omniauth-oauth2 (1.8.0)
oauth2 (>= 1.4, < 3)
omniauth (~> 2.0)
openapi_parser (2.2.6)
openssl (3.3.0)
openssl-signature_algorithm (1.3.0)
openssl (> 2.0)
optparse (0.6.0)
pagerduty (4.0.1)
parallel (1.27.0)
parallel_tests (4.10.1)
parallel
parser (3.3.9.0)
ast (~> 2.4.1)
racc
pdf-core (0.10.0)
pdf-reader (2.15.0)
Ascii85 (>= 1.0, < 3.0, != 2.0.0)
afm (>= 0.2.1, < 2)
hashery (~> 2.0)
ruby-rc4
ttfunk
pg (1.6.1-aarch64-linux)
pg (1.6.1-aarch64-linux-musl)
pg (1.6.1-arm64-darwin)
pg (1.6.1-x86_64-darwin)
pg (1.6.1-x86_64-linux)
pg (1.6.1-x86_64-linux-musl)
prawn (2.5.0)
matrix (~> 0.4)
pdf-core (~> 0.10.0)
ttfunk (~> 1.8)
prawn-table (0.2.2)
prawn (>= 1.3.0, < 3.0.0)
prism (1.4.0)
pry (0.15.2)
coderay (~> 1.1)
method_source (~> 1.0)
pry-byebug (3.11.0)
byebug (~> 12.0)
pry (>= 0.13, < 0.16)
public_suffix (6.0.2)
puma (7.0.0)
nio4r (~> 2.0)
racc (1.8.1)
rack (3.2.0)
rack-protection (4.1.1)
base64 (>= 0.1.0)
logger (>= 1.6.0)
rack (>= 3.0.0, < 4)
rack-test (2.2.0)
rack (>= 1.3)
rack-unreloader (2.1.0)
rackup (2.2.1)
rack (>= 3)
rails-dom-testing (2.3.0)
activesupport (>= 5.0.0)
minitest
nokogiri (>= 1.6)
rails-html-sanitizer (1.6.2)
loofah (~> 2.21)
nokogiri (>= 1.15.7, != 1.16.7, != 1.16.6, != 1.16.5, != 1.16.4, != 1.16.3, != 1.16.2, != 1.16.1, != 1.16.0.rc1, != 1.16.0)
rainbow (3.1.1)
rake (13.3.0)
refrigerator (1.8.0)
regexp_parser (2.11.2)
reline (0.6.2)
io-console (~> 0.5)
rexml (3.4.2)
roda (3.96.0)
rack
rodauth (2.40.0)
roda (>= 2.6.0)
sequel (>= 4)
rodish (2.0.1)
optparse
rotp (6.3.0)
rqrcode (3.1.0)
chunky_png (~> 1.0)
rqrcode_core (~> 2.0)
rqrcode_core (2.0.0)
rspec (3.13.1)
rspec-core (~> 3.13.0)
rspec-expectations (~> 3.13.0)
rspec-mocks (~> 3.13.0)
rspec-core (3.13.5)
rspec-support (~> 3.13.0)
rspec-expectations (3.13.5)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.13.0)
rspec-mocks (3.13.5)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.13.0)
rspec-support (3.13.5)
rubocop (1.75.8)
json (~> 2.3)
language_server-protocol (~> 3.17.0.2)
lint_roller (~> 1.1.0)
parallel (~> 1.10)
parser (>= 3.3.0.2)
rainbow (>= 2.2.2, < 4.0)
regexp_parser (>= 2.9.3, < 3.0)
rubocop-ast (>= 1.44.0, < 2.0)
ruby-progressbar (~> 1.7)
unicode-display_width (>= 2.4.0, < 4.0)
rubocop-ast (1.46.0)
parser (>= 3.3.7.2)
prism (~> 1.4)
rubocop-capybara (2.21.0)
rubocop (~> 1.41)
rubocop-erb (0.6.0)
better_html
lint_roller (~> 1.1)
rubocop (~> 1.72, >= 1.72.1)
rubocop-performance (1.25.0)
lint_roller (~> 1.1)
rubocop (>= 1.75.0, < 2.0)
rubocop-ast (>= 1.38.0, < 2.0)
rubocop-rake (0.7.1)
lint_roller (~> 1.1)
rubocop (>= 1.72.1)
rubocop-rspec (3.7.0)
lint_roller (~> 1.1)
rubocop (~> 1.72, >= 1.72.1)
rubocop-sequel (0.4.1)
lint_roller (~> 1.1)
rubocop (>= 1.72.1, < 2)
ruby-progressbar (1.13.0)
ruby-rc4 (0.1.5)
safety_net_attestation (0.4.0)
jwt (~> 2.0)
sawyer (0.9.2)
addressable (>= 2.3.5)
faraday (>= 0.17.3, < 3)
securerandom (0.4.1)
sequel (5.96.0)
bigdecimal
sequel-annotate (1.7.0)
sequel (>= 4)
sequel_pg (1.17.2)
pg (>= 0.18.0, != 1.2.0)
sequel (>= 4.38.0)
shellwords (0.2.2)
simplecov (0.22.0)
docile (~> 1.1)
simplecov-html (~> 0.11)
simplecov_json_formatter (~> 0.1)
simplecov-html (0.13.2)
simplecov_json_formatter (0.1.4)
smart_properties (1.17.0)
snaky_hash (2.0.3)
hashie (>= 0.1.0, < 6)
version_gem (>= 1.1.8, < 3)
standard (1.50.0)
language_server-protocol (~> 3.17.0.2)
lint_roller (~> 1.0)
rubocop (~> 1.75.5)
standard-custom (~> 1.0.0)
standard-performance (~> 1.8)
standard-custom (1.0.2)
lint_roller (~> 1.0)
rubocop (~> 1.50)
standard-performance (1.8.0)
lint_roller (~> 1.1)
rubocop-performance (~> 1.25.0)
stripe (12.6.0)
thor (1.4.0)
tilt (2.6.1)
timeout (0.4.3)
tpm-key_attestation (0.14.1)
bindata (~> 2.4)
openssl (> 2.0)
openssl-signature_algorithm (~> 1.0)
ttfunk (1.8.0)
bigdecimal (~> 3.1)
turbo_tests (2.2.5)
parallel_tests (>= 3.3.0, < 5)
rspec (>= 3.10)
tzinfo (2.0.6)
concurrent-ruby (~> 1.0)
unaccent (0.4.0)
unicode-display_width (3.1.5)
unicode-emoji (~> 4.0, >= 4.0.4)
unicode-emoji (4.0.4)
uri (1.0.3)
version_gem (1.1.8)
warning (1.5.0)
webauthn (3.4.1)
android_key_attestation (~> 0.3.0)
bindata (~> 2.4)
cbor (~> 0.5.9)
cose (~> 1.1)
openssl (>= 2.2)
safety_net_attestation (~> 0.4.0)
tpm-key_attestation (~> 0.14.0)
webmock (3.25.1)
addressable (>= 2.8.0)
crack (>= 0.3.2)
hashdiff (>= 0.4.0, < 2.0.0)
webrick (1.9.1)
websocket-driver (0.8.0)
base64
websocket-extensions (>= 0.1.0)
websocket-extensions (0.1.5)
xpath (3.2.0)
nokogiri (~> 1.8)
PLATFORMS
aarch64-linux
aarch64-linux-musl
arm64-darwin-22
arm64-darwin-23
arm64-darwin-24
x86_64-darwin-20
x86_64-darwin-23
x86_64-linux
x86_64-linux-musl
DEPENDENCIES
acme-client
argon2
argon2-kdf
autoforme
awesome_print
aws-sdk-ec2 (~> 1.512)
aws-sdk-iam
aws-sdk-s3
bcrypt_pbkdf
brakeman
by (>= 1.1.0)
capybara
capybara-validate_html5 (>= 2.1)
committee (>= 5.5.4)
countries
cuprite
ed25519
erb-formatter!
erubi (>= 1.5)
excon
foreman
forme
jwt
mail
net-ssh
netaddr
nokogiri
octokit
omniauth-github
omniauth-google-oauth2
pagerduty (>= 4.0)
pdf-reader
prawn
prawn-table
pry
pry-byebug
puma (>= 6.2.2)
rack-unreloader (>= 1.8)
rackup
rake
refrigerator (>= 1)
reline
roda (>= 3.96)
rodauth (>= 2.40)
rodauth-omniauth!
rodish (>= 2.0.1)
rotp
rqrcode
rspec
rubocop-capybara (< 2.22)
rubocop-erb
rubocop-performance
rubocop-rake
rubocop-rspec
rubocop-sequel
sequel (>= 5.96)
sequel-annotate
sequel_pg (>= 1.8)
shellwords
simplecov
standard (>= 1.24.3)
stripe
tilt (>= 2.6.1)
turbo_tests
warning
webauthn
webmock
RUBY VERSION
ruby 3.4.5p51
BUNDLED WITH
2.7.1