Version 1.0#2
Conversation
senid231
commented
Jun 8, 2026
- update rubocop
- introduce Model and BulkUpdate classes, refactor Base class
- improve testing, add github actions
- add CHANGELOG.md
- improve README.md and gemspec description
|
You are seeing this message because GitHub Code Scanning has recently been set up for this repository, or this pull request contains the workflow file for the Code Scanning tool. What Enabling Code Scanning Means:
For more information about GitHub Code Scanning, check out the documentation. |
There was a problem hiding this comment.
Pull request overview
This PR prepares the gem for a 1.0.0 release by modernizing its supported Ruby/Rails versions, refactoring the core SQL API into an instantiable Model with a Base singleton facade, and adding a PostgreSQL-specific bulk update utility. It also expands documentation, test coverage, and adds GitHub Actions-based CI/security automation.
Changes:
- Introduces
PgSqlCaller::ModelandPgSqlCaller::BulkUpdate, and refactorsPgSqlCaller::Baseinto a thin singleton facade overModel. - Raises minimum Ruby to 3.2 and constrains ActiveRecord/ActiveSupport to >= 7.1; updates RuboCop and adds security/tooling automation.
- Adds/updates specs, README, CHANGELOG, and GitHub Actions workflows (CI, CodeQL, bundle-audit, Semgrep, Dependabot).
Reviewed changes
Copilot reviewed 29 out of 30 changed files in this pull request and generated 7 comments.
Show a summary per file
| File | Description |
|---|---|
| sql_caller.gemspec | Updates gem description, runtime file list, and minimum Ruby/AR dependencies. |
| spec/spec_helper.rb | Adjusts RSpec hooks and excludes benchmark-tagged specs by default. |
| spec/pg_sql_caller/model_spec.rb | Adds comprehensive specs for the new PgSqlCaller::Model API. |
| spec/pg_sql_caller/bulk_update_spec.rb | Adds specs (and an optional benchmark) for PgSqlCaller::BulkUpdate. |
| spec/pg_sql_caller/base_spec.rb | Adds/refactors specs for PgSqlCaller::Base behavior. |
| spec/pg_sql_caller_spec.rb | Minor spec cleanup (be_nil matcher). |
| spec/pg_sql_caller_base_spec.rb | Removes old base spec file in favor of reorganized specs. |
| spec/fixtures/active_record.rb | Test ActiveRecord setup tweaks (logger, abstract base model). |
| spec/config/database.travis.yml | Removes Travis-specific DB config. |
| spec/config/database.github.yml | Adds GitHub Actions DB config for CI. |
| README.md | Major documentation expansion: API reference, security, bulk update docs, development notes. |
| lib/pg_sql_caller/version.rb | Bumps version to 1.0.0. |
| lib/pg_sql_caller/model.rb | Adds the new instantiable SQL wrapper and helper APIs. |
| lib/pg_sql_caller/bulk_update.rb | Adds set-based bulk update implementation using UPDATE ... FROM unnest(...). |
| lib/pg_sql_caller/base.rb | Refactors Base into a singleton facade subclassing Model. |
| lib/pg_sql_caller.rb | Updates requires to load model and bulk_update. |
| gemfiles/rails_8_1.gemfile | Adds CI gemfile for Rails 8.1 series. |
| gemfiles/rails_8_0.gemfile | Adds CI gemfile for Rails 8.0 series. |
| gemfiles/rails_7_2.gemfile | Adds CI gemfile for Rails 7.2 series. |
| gemfiles/rails_7_1.gemfile | Adds CI gemfile for Rails 7.1 series. |
| Gemfile | Updates dev tooling (RuboCop/plugins, bundle-audit) and bumps RSpec/Rake versions. |
| CHANGELOG.md | Adds changelog with 1.0-era breaking changes and new features. |
| .travis.yml | Removes Travis CI configuration. |
| .semgrep/sql-injection.yml | Adds custom Semgrep rule for interpolated SQL use. |
| .rubocop.yml | Updates RuboCop configuration for Ruby 3.2 and new plugins. |
| .gitignore | Ignores gemfile lockfiles under gemfiles/. |
| .github/workflows/codeql.yml | Adds CodeQL scanning workflow for Ruby. |
| .github/workflows/ci.yml | Adds GitHub Actions CI matrix (Ruby/Rails) plus RuboCop, bundle-audit, Semgrep. |
| .github/workflows/bundle-audit.yml | Adds scheduled bundle-audit workflow. |
| .github/dependabot.yml | Adds Dependabot configuration for bundler updates. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
0292112 to
bcdd2f6
Compare