declare_schema 1.5.0.pre.1 → 2.1.0.pre.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (71) hide show
  1. checksums.yaml +4 -4
  2. data/.devcontainer/Dockerfile +19 -0
  3. data/.devcontainer/boot.sh +1 -0
  4. data/.devcontainer/devcontainer.json +55 -0
  5. data/.devcontainer/docker-compose.yml +40 -0
  6. data/.github/workflows/declare_schema_build.yml +35 -11
  7. data/Appraisals +2 -10
  8. data/CHANGELOG.md +8 -1
  9. data/CODE-OF-CONDUCT.md +16 -0
  10. data/CONTRIBUTING.md +46 -0
  11. data/Gemfile +6 -1
  12. data/Gemfile.lock +88 -78
  13. data/README.md +38 -14
  14. data/Rakefile +5 -15
  15. data/catalog-info.yaml +35 -0
  16. data/config/brakeman.ignore +2 -2
  17. data/declare_schema.gemspec +1 -1
  18. data/gemfiles/{rails_6_1_sqlite3.gemfile → rails_6_1.gemfile} +3 -0
  19. data/gemfiles/{rails_7_0_sqlite3.gemfile → rails_7_0.gemfile} +3 -0
  20. data/gemfiles/{rails_7_1_sqlite3.gemfile → rails_7_1.gemfile} +3 -0
  21. data/gemfiles/{rails_7_0_mysql2.gemfile → rails_7_2.gemfile} +4 -1
  22. data/lib/declare_schema/command.rb +2 -8
  23. data/lib/declare_schema/model/column.rb +1 -1
  24. data/lib/declare_schema/model/foreign_key_definition.rb +9 -12
  25. data/lib/declare_schema/model/index_definition.rb +16 -8
  26. data/lib/declare_schema/model.rb +10 -14
  27. data/lib/declare_schema/schema_change/base.rb +4 -0
  28. data/lib/declare_schema/schema_change/primary_key_change.rb +19 -6
  29. data/lib/declare_schema/version.rb +1 -1
  30. data/lib/declare_schema.rb +20 -8
  31. data/lib/generators/declare_schema/migration/migration_generator.rb +17 -8
  32. data/lib/generators/declare_schema/migration/migrator.rb +16 -9
  33. data/spec/fixtures/migrations/mysql2/will_generate_unique_constraint_names_rails_6.txt +15 -0
  34. data/spec/fixtures/migrations/mysql2/will_generate_unique_constraint_names_rails_7.txt +15 -0
  35. data/spec/fixtures/migrations/postgresql/will_generate_unique_constraint_names_rails_6.txt +15 -0
  36. data/spec/fixtures/migrations/postgresql/will_generate_unique_constraint_names_rails_7.txt +15 -0
  37. data/spec/fixtures/migrations/sqlite3/will_generate_unique_constraint_names_rails_6.txt +15 -0
  38. data/spec/fixtures/migrations/sqlite3/will_generate_unique_constraint_names_rails_7.txt +15 -0
  39. data/spec/lib/declare_schema/api_spec.rb +1 -7
  40. data/spec/lib/declare_schema/field_declaration_dsl_spec.rb +3 -3
  41. data/spec/lib/declare_schema/field_spec_spec.rb +68 -45
  42. data/spec/lib/declare_schema/generator_spec.rb +29 -71
  43. data/spec/lib/declare_schema/interactive_primary_key_spec.rb +3 -10
  44. data/spec/lib/declare_schema/migration_generator_spec.rb +249 -255
  45. data/spec/lib/declare_schema/model/column_spec.rb +89 -41
  46. data/spec/lib/declare_schema/model/foreign_key_definition_spec.rb +14 -8
  47. data/spec/lib/declare_schema/model/habtm_model_shim_spec.rb +4 -9
  48. data/spec/lib/declare_schema/model/index_definition_spec.rb +18 -10
  49. data/spec/lib/declare_schema/model/table_options_definition_spec.rb +11 -11
  50. data/spec/lib/declare_schema/schema_change/base_spec.rb +5 -7
  51. data/spec/lib/declare_schema/schema_change/column_add_spec.rb +1 -3
  52. data/spec/lib/declare_schema/schema_change/column_change_spec.rb +1 -3
  53. data/spec/lib/declare_schema/schema_change/column_remove_spec.rb +1 -3
  54. data/spec/lib/declare_schema/schema_change/column_rename_spec.rb +1 -3
  55. data/spec/lib/declare_schema/schema_change/foreign_key_add_spec.rb +1 -3
  56. data/spec/lib/declare_schema/schema_change/foreign_key_remove_spec.rb +1 -3
  57. data/spec/lib/declare_schema/schema_change/index_add_spec.rb +1 -3
  58. data/spec/lib/declare_schema/schema_change/index_remove_spec.rb +1 -3
  59. data/spec/lib/declare_schema/schema_change/primary_key_change_spec.rb +39 -15
  60. data/spec/lib/declare_schema/schema_change/table_add_spec.rb +1 -3
  61. data/spec/lib/declare_schema/schema_change/table_change_spec.rb +1 -3
  62. data/spec/lib/declare_schema/schema_change/table_remove_spec.rb +1 -3
  63. data/spec/lib/declare_schema/schema_change/table_rename_spec.rb +1 -3
  64. data/spec/lib/generators/declare_schema/migration/migrator_spec.rb +0 -4
  65. data/spec/spec_helper.rb +3 -0
  66. data/spec/support/adapter_specific_test_helpers.rb +25 -0
  67. data/spec/{lib/declare_schema → support}/prepare_testapp.rb +3 -1
  68. data/spec/support/test_app_spec_helpers.rb +7 -0
  69. metadata +24 -11
  70. data/gemfiles/rails_6_1_mysql2.gemfile +0 -23
  71. data/gemfiles/rails_7_1_mysql2.gemfile +0 -23
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9389b7ee742afb3976a2eb8468ab59f37782cdf1b60c75e64e0cd999aa12ae8b
4
- data.tar.gz: 778b052b3107291f4305af5eb62798d5a3f30d931a936fdaa957f8016871d1a9
3
+ metadata.gz: a33699428dab9fa077b80c1990200838a54b7bde3c396fcbe825db87b0d102dc
4
+ data.tar.gz: deee873e9ff29c8c222e895078277e0837ffb99c4495ec6c094b7088a58fc0a6
5
5
  SHA512:
6
- metadata.gz: 53d80c7f261bf5e646478556ae721ee6beecf8aa98446e768292aac9f6a53ec5f3270f580095aadacc8aa7a3ad60510e9589cc2dafb6756ee14770c0a86df113
7
- data.tar.gz: dcd96a0d62da5dc3ffc4a2f48443b93b8991053fedd3a179ba6953f08b2801c649ffc893915a7fa77c75d1ffb74f8f5b468094f6e0c645b86a92dd91caaddd75
6
+ metadata.gz: c8f2f18ffbb725412986acfb6c5ed6f96fcb0574051701825f3d727c435c82421b5e4b80802e4b5b119d3c16e64b68972381527a687827e7c6ab9cbbafff7c5c
7
+ data.tar.gz: 932216a14528fba8f466c81549dfe9381098c053a5ce583cff64d17ed40286c7189b8d4dfee2f292da384891e0036024950b4cb933192ab53193e681a9322289
@@ -0,0 +1,19 @@
1
+ FROM mcr.microsoft.com/devcontainers/ruby:1-3-bookworm
2
+
3
+ # Install Rails
4
+ RUN su vscode -c "gem install rails webdrivers"
5
+ RUN su vscode -c "/usr/local/rvm/bin/rvm fix-permissions"
6
+
7
+ # Default value to allow debug server to serve content over GitHub Codespace's port forwarding service
8
+ # The value is a comma-separated list of allowed domains
9
+ ENV RAILS_DEVELOPMENT_HOSTS=".githubpreview.dev,.preview.app.github.dev,.app.github.dev"
10
+
11
+ # [Optional] Uncomment this section to install additional OS packages.
12
+ RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \
13
+ && apt-get -y install --no-install-recommends sqlite3
14
+
15
+ # [Optional] Uncomment this line to install additional gems.
16
+ # RUN su vscode -c "gem install <your-gem-names-here>"
17
+
18
+ # [Optional] Uncomment this line to install global node packages.
19
+ # RUN su vscode -c "source /usr/local/share/nvm/nvm.sh && npm install -g <your-package-here>" 2>&1
@@ -0,0 +1 @@
1
+ bundle install
@@ -0,0 +1,55 @@
1
+ // For format details, see https://aka.ms/devcontainer.json.
2
+ {
3
+ "name": "DeclareSchema project development",
4
+ "dockerComposeFile": "docker-compose.yml",
5
+ "service": "declare_schema",
6
+ "workspaceFolder": "/workspaces/${localWorkspaceFolderBasename}",
7
+
8
+ // Features to add to the dev container. More info: https://containers.dev/features.
9
+ "features": {},
10
+
11
+ // Mount local SSH keys into the container. Use the same path as on the host.
12
+ "mounts": [
13
+ "type=bind,source=${localEnv:HOME}/.ssh,target=/home/vscode/.ssh,readonly",
14
+ "type=bind,source=${localEnv:HOME}/.ultrahook,target=/home/vscode/.ultrahook,readonly"
15
+ ],
16
+
17
+ "containerEnv": {
18
+ "PGHOST": "postgres",
19
+ "PGUSER": "postgres",
20
+ "PGPASSWORD": "postgres",
21
+ "MYSQL_HOST": "mariadb",
22
+ "MYSQL_PORT": "3306"
23
+ },
24
+
25
+ // Use 'forwardPorts' to make a list of ports inside the container available locally.
26
+ // This can be used to network with other containers or the host.
27
+ // "forwardPorts": [3000, 5432],
28
+
29
+ // Use 'postCreateCommand' to run commands after the container is created.
30
+ "postCreateCommand": ".devcontainer/boot.sh",
31
+
32
+ // Configure tool-specific properties.
33
+ "customizations": {
34
+ "vscode": {
35
+ "settings": {
36
+ "rubyLsp.rubyVersionManager": {
37
+ "identifier": "none"
38
+ }
39
+ },
40
+ // Add the IDs of extensions you want installed when the container is created.
41
+ "extensions": [
42
+ "usernamehw.errorlens",
43
+ "christian-kohler.path-intellisense",
44
+ "blakeh.jump-to-test",
45
+ "ionutvmi.path-autocomplete",
46
+ "buenon.scratchpads",
47
+ "Shopify.ruby-extensions-pack",
48
+ "Shopify.ruby-lsp"
49
+ ]
50
+ }
51
+ }
52
+
53
+ // Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root.
54
+ // "remoteUser": "root"
55
+ }
@@ -0,0 +1,40 @@
1
+ services:
2
+ declare_schema:
3
+ build:
4
+ context: ..
5
+ dockerfile: .devcontainer/Dockerfile
6
+
7
+ volumes:
8
+ - ../..:/workspaces:cached
9
+
10
+ # Overrides default command so things don't shut down after the process ends.
11
+ command: sleep infinity
12
+
13
+ depends_on:
14
+ - postgres
15
+ - mariadb
16
+
17
+ # Use "forwardPorts" in **devcontainer.json** to forward an app port locally.
18
+ # (Adding the "ports" property to this file will not forward from a Codespace.)
19
+
20
+ postgres:
21
+ image: postgres:latest
22
+ restart: unless-stopped
23
+ volumes:
24
+ - postgres-data:/var/lib/postgresql/data
25
+ environment:
26
+ POSTGRES_USER: postgres
27
+ POSTGRES_DB: postgres
28
+ POSTGRES_PASSWORD: postgres
29
+
30
+ mariadb:
31
+ image: mariadb:latest
32
+ restart: unless-stopped
33
+ volumes:
34
+ - mariadb-data:/var/lib/mysql
35
+ environment:
36
+ MARIADB_ROOT_PASSWORD: root
37
+
38
+ volumes:
39
+ postgres-data:
40
+ mariadb-data:
@@ -10,23 +10,47 @@ jobs:
10
10
  strategy:
11
11
  fail-fast: false
12
12
  matrix:
13
+ adapter: [mysql, postgresql, sqlite3]
13
14
  ruby: ['3.0', 3.1, 3.2, 3.3]
14
15
  gemfile:
15
- - gemfiles/rails_6_1_mysql2.gemfile
16
- - gemfiles/rails_6_1_sqlite3.gemfile
17
- - gemfiles/rails_7_0_mysql2.gemfile
18
- - gemfiles/rails_7_0_sqlite3.gemfile
19
- - gemfiles/rails_7_1_mysql2.gemfile
20
- - gemfiles/rails_7_1_sqlite3.gemfile
16
+ - gemfiles/rails_6_1.gemfile
17
+ - gemfiles/rails_7_0.gemfile
18
+ - gemfiles/rails_7_1.gemfile
19
+ - gemfiles/rails_7_2.gemfile
21
20
  exclude:
22
- - ruby: 3.3
23
- gemfile: gemfiles/rails_6_1_mysql2.gemfile
24
- - ruby: 3.3
25
- gemfile: gemfiles/rails_6_1_sqlite3.gemfile
21
+ - adapter: mysql
22
+ ruby: 3.3
23
+ gemfile: gemfiles/rails_6_1.gemfile
24
+ - adapter: postgresql
25
+ ruby: 3.3
26
+ gemfile: gemfiles/rails_6_1.gemfile
27
+ - adapter: sqlite3
28
+ ruby: 3.3
29
+ gemfile: gemfiles/rails_6_1.gemfile
30
+ - adapter: mysql
31
+ ruby: '3.0'
32
+ gemfile: gemfiles/rails_7_2.gemfile
33
+ - adapter: postgresql
34
+ ruby: '3.0'
35
+ gemfile: gemfiles/rails_7_2.gemfile
36
+ - adapter: sqlite3
37
+ ruby: '3.0'
38
+ gemfile: gemfiles/rails_7_2.gemfile
26
39
 
27
40
  env:
28
41
  BUNDLE_GEMFILE: "${{ matrix.gemfile }}"
42
+ MYSQL_HOST: 127.0.0.1
43
+ PGHOST: localhost
44
+ PGUSER: postgres
45
+ PGPASSWORD: postgres
29
46
  services:
47
+ postgres:
48
+ image: postgres:16-alpine
49
+ ports: ["5432:5432"]
50
+ env:
51
+ POSTGRES_USER: postgres
52
+ POSTGRES_PASSWORD: postgres
53
+ POSTGRES_DB: postgres
30
54
  mysql:
31
55
  image: mysql:5.7
32
56
  env:
@@ -44,5 +68,5 @@ jobs:
44
68
  run: |
45
69
  git config --global user.email "dummy@example.com"
46
70
  git config --global user.name "dummy"
47
- MYSQL_PORT=3306 bundle exec rake test:prepare_testapp[force]
71
+ bundle exec rake test:prepare_testapp[${{ matrix.adapter }},force]
48
72
  - run: bundle exec rake test:all
data/Appraisals CHANGED
@@ -4,10 +4,6 @@ require 'json'
4
4
  require 'open-uri'
5
5
 
6
6
  MIN_RAILS_VERSION = Gem::Version.new('6.1.0')
7
- DB_ADAPTERS = {
8
- sqlite3: '~> 1.4',
9
- mysql2: '~> 0.5',
10
- }.freeze
11
7
 
12
8
  rails_versions_to_test = Set.new
13
9
 
@@ -20,11 +16,7 @@ URI.parse('https://rubygems.org/api/v1/versions/rails.json').open do |raw_versio
20
16
  end
21
17
 
22
18
  rails_versions_to_test.each do |version|
23
- DB_ADAPTERS.each do |adapter, adapter_version|
24
- appraise "rails-#{version.gsub('.', '_')}-#{adapter}" do
25
- gem 'rails', "~> #{version}.0"
26
- remove_gem 'sqlite3' # To make sure that the adapter only exists when we're testing against sqlite3
27
- gem adapter, adapter_version
28
- end
19
+ appraise "rails-#{version.gsub('.', '_')}" do
20
+ gem 'rails', "~> #{version}.0"
29
21
  end
30
22
  end
data/CHANGELOG.md CHANGED
@@ -4,10 +4,17 @@ Inspired by [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
4
4
 
5
5
  Note: this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
6
6
 
7
- ## [1.5.0] - Unreleased
7
+ ## [2.1.0] - Unreleased
8
+ ### Added
9
+ - Added support for Rails 7.2
10
+ - Added support for `postgresql` as a database adapter
11
+
12
+ ## [2.0.0] - 2024-05-14
8
13
  ### Added
9
14
  - Added support for Rails 7.0 and 7.1
10
15
  - Add support for automatic enum scopes for each value in the `:limit` array
16
+ ### Removed
17
+ - Removed support for Rails < 6.0
11
18
 
12
19
  ## [1.4.0] - 2024-01-24
13
20
  ### Added
@@ -0,0 +1,16 @@
1
+ # Invoca Community Code of Conduct v1.0
2
+
3
+ ## Contributor Code of Conduct
4
+ As contributors and maintainers of this project, and in the interest of fostering an open and welcoming community, we pledge to respect all people who contribute through reporting issues, posting feature requests, updating documentation, submitting pull requests or patches, and other activities.
5
+
6
+ We are committed to making participation in this project a harassment-free experience for everyone, regardless of level of experience, gender, gender identity and expression, sexual orientation, disability, personal appearance, body size, race, ethnicity, age, religion, or nationality.
7
+
8
+ Examples of unacceptable behavior by participants include:
9
+ * The use of sexualized language or imagery
10
+ * Personal attacks
11
+ * Trolling or insulting/derogatory comments
12
+ * Public or private harassment
13
+ * Publishing other's private information, such as physical or electronic addresses, without explicit permission
14
+ * Other unethical or unprofessional conduct
15
+
16
+ Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct. By adopting this Code of Conduct, project maintainers commit themselves to fairly and consistently applying these principles to every aspect of managing this project. Project maintainers who do not follow or enforce the Code of Conduct may be permanently removed from the project team.
data/CONTRIBUTING.md ADDED
@@ -0,0 +1,46 @@
1
+ # Contributing to ContextualLogger
2
+
3
+ This document explains our guidelines and workflows to contributing to an Invoca open source project. Please take care to follow the guidelines, as they exist to help us manage changes in a timely and efficient manner.
4
+
5
+ ## Code of Conduct
6
+ All contributors to this project must adhere to the [Community Code of Conduct](CODE-OF-CONDUCT.md)
7
+
8
+ ## Environment Setup
9
+ 1. Install `docker` and ensure that the daemon is running
10
+ 2. Open the project inside the specified [devcontainer](https://github.com/devcontainers) configured in `.devcontainer/devcontainer.json`
11
+
12
+ ## Branching
13
+
14
+ * __Create an issue before starting a branch__
15
+ * For bugs, prefix the branch name with `bug/`
16
+ * For features, prefix the branch name with `feature/`
17
+ * Include the issue number and a short description of the issue
18
+
19
+ Examples
20
+ * `bug/1234_fix_issue_with_postgresql_adapter`
21
+ * `feature/4321_add_explicit_postgresql_adapter_support`
22
+
23
+ ## Filing Issues
24
+
25
+ * Use the appropriate template provided
26
+ * Include as much information as possible to help:
27
+ * The person who will be fixing the bug understand the issue
28
+ * The person code reviewing the fix to understand what the original need was
29
+ * Check for open issues before filing your own
30
+
31
+ ## Committing
32
+
33
+ * Break your commits into logical atomic units. Well-segmented commits make it much easier for others to step through your changes.
34
+ * Limit your subject (first) line to 50 characters (GitHub truncates more than 70).
35
+ * Provide a body if you'd like to explain your commit in detail.
36
+ * Capitalize the beginning of your subject line, and do not end the subject line with a period.
37
+ * Your subject line should complete this sentence: `If applied, this commit will [your subject line]`.
38
+ * Don't use [magic GitHub words](https://help.github.com/articles/closing-issues-using-keywords/) in your commits to close issues - do that in the pull request for your code instead.
39
+ * Adapted from [How to Write a Git Commit Message](https://chris.beams.io/posts/git-commit/#seven-rules).
40
+
41
+ ## Making Pull Requests
42
+
43
+ * Use fill out the template provided
44
+ * Provide a link to the issue being resolved by the PR
45
+ * Make sure to include tests
46
+ * Resolve linting comments from Hound before requesting review
data/Gemfile CHANGED
@@ -18,6 +18,11 @@ gem 'pry-byebug'
18
18
  gem 'rails', '~> 6.0'
19
19
  gem 'responders'
20
20
  gem 'rspec'
21
+ gem 'rspec-its'
21
22
  gem 'rubocop'
22
23
  gem 'yard'
23
- gem 'sqlite3', '~> 1.4'
24
+
25
+ # Adapters to test against
26
+ gem 'mysql2', '~> 0.5'
27
+ gem 'pg', '~> 1.1'
28
+ gem 'sqlite3', '~> 1.4'
data/Gemfile.lock CHANGED
@@ -1,66 +1,66 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- declare_schema (1.5.0.pre.1)
5
- rails (>= 5.0)
4
+ declare_schema (2.1.0.pre.1)
5
+ rails (>= 6.0)
6
6
 
7
7
  GEM
8
8
  remote: https://rubygems.org/
9
9
  specs:
10
- actioncable (6.1.7.7)
11
- actionpack (= 6.1.7.7)
12
- activesupport (= 6.1.7.7)
10
+ actioncable (6.1.7.8)
11
+ actionpack (= 6.1.7.8)
12
+ activesupport (= 6.1.7.8)
13
13
  nio4r (~> 2.0)
14
14
  websocket-driver (>= 0.6.1)
15
- actionmailbox (6.1.7.7)
16
- actionpack (= 6.1.7.7)
17
- activejob (= 6.1.7.7)
18
- activerecord (= 6.1.7.7)
19
- activestorage (= 6.1.7.7)
20
- activesupport (= 6.1.7.7)
15
+ actionmailbox (6.1.7.8)
16
+ actionpack (= 6.1.7.8)
17
+ activejob (= 6.1.7.8)
18
+ activerecord (= 6.1.7.8)
19
+ activestorage (= 6.1.7.8)
20
+ activesupport (= 6.1.7.8)
21
21
  mail (>= 2.7.1)
22
- actionmailer (6.1.7.7)
23
- actionpack (= 6.1.7.7)
24
- actionview (= 6.1.7.7)
25
- activejob (= 6.1.7.7)
26
- activesupport (= 6.1.7.7)
22
+ actionmailer (6.1.7.8)
23
+ actionpack (= 6.1.7.8)
24
+ actionview (= 6.1.7.8)
25
+ activejob (= 6.1.7.8)
26
+ activesupport (= 6.1.7.8)
27
27
  mail (~> 2.5, >= 2.5.4)
28
28
  rails-dom-testing (~> 2.0)
29
- actionpack (6.1.7.7)
30
- actionview (= 6.1.7.7)
31
- activesupport (= 6.1.7.7)
29
+ actionpack (6.1.7.8)
30
+ actionview (= 6.1.7.8)
31
+ activesupport (= 6.1.7.8)
32
32
  rack (~> 2.0, >= 2.0.9)
33
33
  rack-test (>= 0.6.3)
34
34
  rails-dom-testing (~> 2.0)
35
35
  rails-html-sanitizer (~> 1.0, >= 1.2.0)
36
- actiontext (6.1.7.7)
37
- actionpack (= 6.1.7.7)
38
- activerecord (= 6.1.7.7)
39
- activestorage (= 6.1.7.7)
40
- activesupport (= 6.1.7.7)
36
+ actiontext (6.1.7.8)
37
+ actionpack (= 6.1.7.8)
38
+ activerecord (= 6.1.7.8)
39
+ activestorage (= 6.1.7.8)
40
+ activesupport (= 6.1.7.8)
41
41
  nokogiri (>= 1.8.5)
42
- actionview (6.1.7.7)
43
- activesupport (= 6.1.7.7)
42
+ actionview (6.1.7.8)
43
+ activesupport (= 6.1.7.8)
44
44
  builder (~> 3.1)
45
45
  erubi (~> 1.4)
46
46
  rails-dom-testing (~> 2.0)
47
47
  rails-html-sanitizer (~> 1.1, >= 1.2.0)
48
- activejob (6.1.7.7)
49
- activesupport (= 6.1.7.7)
48
+ activejob (6.1.7.8)
49
+ activesupport (= 6.1.7.8)
50
50
  globalid (>= 0.3.6)
51
- activemodel (6.1.7.7)
52
- activesupport (= 6.1.7.7)
53
- activerecord (6.1.7.7)
54
- activemodel (= 6.1.7.7)
55
- activesupport (= 6.1.7.7)
56
- activestorage (6.1.7.7)
57
- actionpack (= 6.1.7.7)
58
- activejob (= 6.1.7.7)
59
- activerecord (= 6.1.7.7)
60
- activesupport (= 6.1.7.7)
51
+ activemodel (6.1.7.8)
52
+ activesupport (= 6.1.7.8)
53
+ activerecord (6.1.7.8)
54
+ activemodel (= 6.1.7.8)
55
+ activesupport (= 6.1.7.8)
56
+ activestorage (6.1.7.8)
57
+ actionpack (= 6.1.7.8)
58
+ activejob (= 6.1.7.8)
59
+ activerecord (= 6.1.7.8)
60
+ activesupport (= 6.1.7.8)
61
61
  marcel (~> 1.0)
62
62
  mini_mime (>= 1.1.0)
63
- activesupport (6.1.7.7)
63
+ activesupport (6.1.7.8)
64
64
  concurrent-ruby (~> 1.0, >= 1.0.2)
65
65
  i18n (>= 1.6, < 2)
66
66
  minitest (>= 5.1)
@@ -71,18 +71,18 @@ GEM
71
71
  rake
72
72
  thor (>= 0.14.0)
73
73
  ast (2.4.2)
74
- bootsnap (1.18.3)
74
+ bootsnap (1.18.4)
75
75
  msgpack (~> 1.2)
76
- builder (3.2.4)
76
+ builder (3.3.0)
77
77
  byebug (11.1.3)
78
78
  climate_control (0.2.0)
79
79
  coderay (1.1.3)
80
- concurrent-ruby (1.2.3)
80
+ concurrent-ruby (1.3.4)
81
81
  crass (1.0.6)
82
82
  date (3.3.4)
83
83
  diff-lcs (1.5.1)
84
- erubi (1.12.0)
85
- ffi (1.16.3)
84
+ erubi (1.13.0)
85
+ ffi (1.17.0)
86
86
  globalid (1.2.1)
87
87
  activesupport (>= 6.1)
88
88
  i18n (1.14.5)
@@ -103,10 +103,11 @@ GEM
103
103
  marcel (1.0.4)
104
104
  method_source (1.1.0)
105
105
  mini_mime (1.1.5)
106
- mini_portile2 (2.8.6)
107
- minitest (5.22.3)
106
+ mini_portile2 (2.8.7)
107
+ minitest (5.25.0)
108
108
  msgpack (1.7.2)
109
- net-imap (0.4.11)
109
+ mysql2 (0.5.6)
110
+ net-imap (0.4.14)
110
111
  date
111
112
  net-protocol
112
113
  net-pop (0.1.2)
@@ -116,37 +117,38 @@ GEM
116
117
  net-smtp (0.5.0)
117
118
  net-protocol
118
119
  nio4r (2.7.3)
119
- nokogiri (1.16.4)
120
+ nokogiri (1.16.7)
120
121
  mini_portile2 (~> 2.8.2)
121
122
  racc (~> 1.4)
122
- parallel (1.24.0)
123
- parser (3.3.1.0)
123
+ parallel (1.26.2)
124
+ parser (3.3.4.2)
124
125
  ast (~> 2.4.1)
125
126
  racc
127
+ pg (1.5.7)
126
128
  pry (0.14.2)
127
129
  coderay (~> 1.1)
128
130
  method_source (~> 1.0)
129
131
  pry-byebug (3.10.1)
130
132
  byebug (~> 11.0)
131
133
  pry (>= 0.13, < 0.15)
132
- racc (1.7.3)
134
+ racc (1.8.1)
133
135
  rack (2.2.9)
134
136
  rack-test (2.1.0)
135
137
  rack (>= 1.3)
136
- rails (6.1.7.7)
137
- actioncable (= 6.1.7.7)
138
- actionmailbox (= 6.1.7.7)
139
- actionmailer (= 6.1.7.7)
140
- actionpack (= 6.1.7.7)
141
- actiontext (= 6.1.7.7)
142
- actionview (= 6.1.7.7)
143
- activejob (= 6.1.7.7)
144
- activemodel (= 6.1.7.7)
145
- activerecord (= 6.1.7.7)
146
- activestorage (= 6.1.7.7)
147
- activesupport (= 6.1.7.7)
138
+ rails (6.1.7.8)
139
+ actioncable (= 6.1.7.8)
140
+ actionmailbox (= 6.1.7.8)
141
+ actionmailer (= 6.1.7.8)
142
+ actionpack (= 6.1.7.8)
143
+ actiontext (= 6.1.7.8)
144
+ actionview (= 6.1.7.8)
145
+ activejob (= 6.1.7.8)
146
+ activemodel (= 6.1.7.8)
147
+ activerecord (= 6.1.7.8)
148
+ activestorage (= 6.1.7.8)
149
+ activesupport (= 6.1.7.8)
148
150
  bundler (>= 1.15.0)
149
- railties (= 6.1.7.7)
151
+ railties (= 6.1.7.8)
150
152
  sprockets-rails (>= 2.0.0)
151
153
  rails-dom-testing (2.2.0)
152
154
  activesupport (>= 5.0.0)
@@ -155,58 +157,63 @@ GEM
155
157
  rails-html-sanitizer (1.6.0)
156
158
  loofah (~> 2.21)
157
159
  nokogiri (~> 1.14)
158
- railties (6.1.7.7)
159
- actionpack (= 6.1.7.7)
160
- activesupport (= 6.1.7.7)
160
+ railties (6.1.7.8)
161
+ actionpack (= 6.1.7.8)
162
+ activesupport (= 6.1.7.8)
161
163
  method_source
162
164
  rake (>= 12.2)
163
165
  thor (~> 1.0)
164
166
  rainbow (3.1.1)
165
167
  rake (13.2.1)
166
168
  rb-fsevent (0.11.2)
167
- rb-inotify (0.10.1)
169
+ rb-inotify (0.11.1)
168
170
  ffi (~> 1.0)
169
- regexp_parser (2.9.1)
171
+ regexp_parser (2.9.2)
170
172
  responders (3.1.1)
171
173
  actionpack (>= 5.2)
172
174
  railties (>= 5.2)
173
- rexml (3.2.6)
175
+ rexml (3.3.5)
176
+ strscan
174
177
  rspec (3.13.0)
175
178
  rspec-core (~> 3.13.0)
176
179
  rspec-expectations (~> 3.13.0)
177
180
  rspec-mocks (~> 3.13.0)
178
181
  rspec-core (3.13.0)
179
182
  rspec-support (~> 3.13.0)
180
- rspec-expectations (3.13.0)
183
+ rspec-expectations (3.13.1)
181
184
  diff-lcs (>= 1.2.0, < 2.0)
182
185
  rspec-support (~> 3.13.0)
186
+ rspec-its (1.3.0)
187
+ rspec-core (>= 3.0.0)
188
+ rspec-expectations (>= 3.0.0)
183
189
  rspec-mocks (3.13.1)
184
190
  diff-lcs (>= 1.2.0, < 2.0)
185
191
  rspec-support (~> 3.13.0)
186
192
  rspec-support (3.13.1)
187
- rubocop (1.63.5)
193
+ rubocop (1.65.1)
188
194
  json (~> 2.3)
189
195
  language_server-protocol (>= 3.17.0)
190
196
  parallel (~> 1.10)
191
197
  parser (>= 3.3.0.2)
192
198
  rainbow (>= 2.2.2, < 4.0)
193
- regexp_parser (>= 1.8, < 3.0)
199
+ regexp_parser (>= 2.4, < 3.0)
194
200
  rexml (>= 3.2.5, < 4.0)
195
201
  rubocop-ast (>= 1.31.1, < 2.0)
196
202
  ruby-progressbar (~> 1.7)
197
203
  unicode-display_width (>= 2.4.0, < 3.0)
198
- rubocop-ast (1.31.3)
204
+ rubocop-ast (1.32.0)
199
205
  parser (>= 3.3.1.0)
200
206
  ruby-progressbar (1.13.0)
201
207
  sprockets (4.2.1)
202
208
  concurrent-ruby (~> 1.0)
203
209
  rack (>= 2.2.4, < 4)
204
- sprockets-rails (3.4.2)
205
- actionpack (>= 5.2)
206
- activesupport (>= 5.2)
210
+ sprockets-rails (3.5.2)
211
+ actionpack (>= 6.1)
212
+ activesupport (>= 6.1)
207
213
  sprockets (>= 3.0.0)
208
214
  sqlite3 (1.7.3)
209
215
  mini_portile2 (~> 2.8.0)
216
+ strscan (3.1.0)
210
217
  thor (1.3.1)
211
218
  timeout (0.4.1)
212
219
  tzinfo (2.0.6)
@@ -216,7 +223,7 @@ GEM
216
223
  websocket-extensions (>= 0.1.0)
217
224
  websocket-extensions (0.1.5)
218
225
  yard (0.9.36)
219
- zeitwerk (2.6.13)
226
+ zeitwerk (2.6.17)
220
227
 
221
228
  PLATFORMS
222
229
  ruby
@@ -228,12 +235,15 @@ DEPENDENCIES
228
235
  declare_schema!
229
236
  listen
230
237
  mail
238
+ mysql2 (~> 0.5)
231
239
  net-smtp
240
+ pg (~> 1.1)
232
241
  pry
233
242
  pry-byebug
234
243
  rails (~> 6.0)
235
244
  responders
236
245
  rspec
246
+ rspec-its
237
247
  rubocop
238
248
  sqlite3 (~> 1.4)
239
249
  yard