From 90dce44339a9bb2d1dca3992ce73f3d5db6aae82 Mon Sep 17 00:00:00 2001 From: Matt Wilson Date: Wed, 19 Aug 2026 12:17:13 +1000 Subject: [PATCH 1/2] 0.0.1 --- .editorconfig | 64 ++++++++ .gitattributes | 75 +++++++++ .github/dependabot.yml | 10 ++ .github/workflows/ruby.yml | 128 +++++++++++++++ .gitignore | 57 +++++++ .ruby-version-exclusions | 2 + .sis/project_name.txt | 1 + .vimrc | 70 +++++++++ AUTHORS.md | 21 +++ CHANGES.md | 20 +++ CONTRIBUTING.md | 36 +++++ EXAMPLES.md | 6 + FAQ.md | 27 ++++ Gemfile | 23 +++ INSTALL.md | 41 +++++ LICENSE | 37 ++--- NEWS.md | 9 ++ README.md | 127 +++++++++++++++ Rakefile | 21 +++ SECURITY.md | 22 +++ TODO.md | 23 +++ build_gem.cmd | 13 ++ build_gem.sh | 13 ++ generate_rdoc.cmd | 28 ++++ generate_rdoc.sh | 31 ++++ lib/quench.rb | 54 +++++++ lib/quench/version.rb | 67 ++++++++ quench-ruby.gemspec | 68 ++++++++ run_all_unit_tests.sh | 313 +++++++++++++++++++++++++++++++++++++ test/unit/tc_version.rb | 37 +++++ test/unit/ts_all.rb | 11 ++ 31 files changed, 1437 insertions(+), 18 deletions(-) create mode 100644 .editorconfig create mode 100644 .gitattributes create mode 100644 .github/dependabot.yml create mode 100644 .github/workflows/ruby.yml create mode 100644 .gitignore create mode 100644 .ruby-version-exclusions create mode 100644 .sis/project_name.txt create mode 100644 .vimrc create mode 100644 AUTHORS.md create mode 100644 CHANGES.md create mode 100644 CONTRIBUTING.md create mode 100644 EXAMPLES.md create mode 100644 FAQ.md create mode 100644 Gemfile create mode 100644 INSTALL.md create mode 100644 NEWS.md create mode 100644 README.md create mode 100644 Rakefile create mode 100644 SECURITY.md create mode 100644 TODO.md create mode 100644 build_gem.cmd create mode 100755 build_gem.sh create mode 100644 generate_rdoc.cmd create mode 100755 generate_rdoc.sh create mode 100644 lib/quench.rb create mode 100644 lib/quench/version.rb create mode 100644 quench-ruby.gemspec create mode 100755 run_all_unit_tests.sh create mode 100755 test/unit/tc_version.rb create mode 100755 test/unit/ts_all.rb diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..8d78c5d --- /dev/null +++ b/.editorconfig @@ -0,0 +1,64 @@ +root = true + +# Language indent/EOL/charset overlap with .vscode/settings.json. +# Rulers, renderWhitespace, detectIndentation, mergeEditor, and +# cmake.configureOnOpen cannot be expressed here — they stay in settings.json. + +[*] +charset = utf-8 +end_of_line = lf +indent_size = 2 +indent_style = tab +insert_final_newline = true +trim_trailing_whitespace = true + +# [bat] +[*.{bat,cmd}] +end_of_line = crlf +indent_size = 4 +indent_style = space + +# [c] +[*.{c,h}] +indent_size = 4 +indent_style = space + +# [cmake] +[{CMakeLists.txt,*.cmake}] +indent_size = 4 +indent_style = tab + +# [cpp] +[*.{cpp,cxx,hpp,hxx}] +indent_size = 4 +indent_style = space + +# [json] +[*.json] +indent_size = 2 +indent_style = space + +# [markdown] +[*.md] +indent_size = 2 +indent_style = space +trim_trailing_whitespace = false + +# [ruby] +[*.{gemspec,rb}] +indent_size = 2 +indent_style = space + +[{Gemfile,Rakefile}] +indent_size = 2 +indent_style = space + +# [shellscript] +[*.{bash,sh,zsh}] +indent_size = 2 +indent_style = space + +# [yaml] +[*.{yaml,yml}] +indent_size = 2 +indent_style = space diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..2c70232 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,75 @@ +# .gitattributes — Ruby (GitHub-hosted) +# +# Sources: GitHub Docs (line endings), git-scm gitattributes (diff=ruby), +# gitattributes/gitattributes Common.gitattributes + Web (*.rb), +# github-linguist overrides. + +# Default: detect text, normalize to LF in the repository +* text=auto + +# --- Source --- +*.gemspec text eol=lf diff=ruby +*.rake text eol=lf diff=ruby +*.rb text eol=lf diff=ruby +*.ru text eol=lf diff=ruby +Gemfile text eol=lf diff=ruby +Rakefile text eol=lf diff=ruby +Capfile text eol=lf diff=ruby +Guardfile text eol=lf diff=ruby +*.erb text +*.haml text +*.slim text + +# --- Lock / config --- +Gemfile.lock text +*.gemspec.lock text -diff +*.yml text +*.yaml text +*.toml text +*.json text + +# --- Scripts --- +*.bash text eol=lf +*.bat text eol=crlf +*.cmd text eol=crlf +*.ps1 text eol=crlf +*.sh text eol=lf +*.zsh text eol=lf + +# --- Docs / meta --- +*.adoc text +*.markdown text diff=markdown +*.md text diff=markdown +*.txt text +AUTHORS text +CHANGELOG text +CHANGES text +CONTRIBUTING text +COPYING text +LICENSE text +NEWS text +README text +TODO text +.gitattributes text +.gitignore text + +# --- Binary --- +*.gem binary +*.so binary + +# --- Archives / images (common) --- +*.gif binary +*.gz binary +*.ico binary +*.jpeg binary +*.jpg binary +*.png binary +*.tar binary +*.zip binary + +# --- GitHub Linguist --- +**/vendor/bundle/** linguist-vendored +**/vendor/cache/** linguist-vendored +**/coverage/** linguist-generated +**/doc/** linguist-documentation +**/pkg/** linguist-generated diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 0000000..3189593 --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,10 @@ +version: 2 +updates: + - directory: / + package-ecosystem: bundler + schedule: + interval: weekly + - directory: / + package-ecosystem: github-actions + schedule: + interval: weekly diff --git a/.github/workflows/ruby.yml b/.github/workflows/ruby.yml new file mode 100644 index 0000000..483b012 --- /dev/null +++ b/.github/workflows/ruby.yml @@ -0,0 +1,128 @@ +# This workflow uses actions that are not certified by GitHub. +# They are provided by a third-party and are governed by +# separate terms of service, privacy policy, and support +# documentation. +# This workflow will download a prebuilt Ruby version, install dependencies and run tests with Rake +# For more information see: https://github.com/marketplace/actions/setup-ruby-jruby-and-truffleruby + +# +# Created: 19th August 2026 +# Updated: 19th August 2026 +# + +name: Ruby + +on: + push: + branches: + - master + - dev + - boilerplate + - idiomatic + - rc1 + - rc2 + - rc3 + pull_request: + +permissions: + contents: read + +defaults: + run: + shell: bash + +jobs: + test: + + strategy: + fail-fast: false + + matrix: + os: + - macos-latest + - ubuntu-latest + - windows-latest + + ruby-version: + # - head + - '3.4' + - '3.3' + - '3.2' + - '3.1' + - '3.0' + - '2.7' + - '2.6' + + include: + - os: ubuntu-latest + ruby-version: '2.5' + - os: ubuntu-latest + ruby-version: '2.4' + - os: ubuntu-latest + ruby-version: '2.0' + - os: windows-latest + ruby-version: mingw + + runs-on: ${{ matrix.os }} + + steps: + - name: Checking out code + uses: actions/checkout@v4 + + - name: Remove Gemfile.lock + shell: bash + run: rm -f Gemfile.lock + + - name: Set up Ruby v${{ matrix.ruby-version }} + uses: ruby/setup-ruby@v1 + with: + ruby-version: ${{ matrix.ruby-version }} + # Bundler 4 honours Gemfile `lockfile false`, so no Gemfile.lock + # is written. bundler-cache cats that file after `bundle lock` + # and fails on Windows 3.2+ (setup-ruby installs Bundler ~> 4). + bundler-cache: false + + - name: Install gems + run: bundle install + + - name: Show Ruby version + run: ruby -v + + - name: Run tests + run: bundle exec rake test + + - name: Gem build and install smoke + shell: bash + run: | + gem build quench-ruby.gemspec + gem install --local quench-ruby-*.gem + ruby -e "require 'quench/version'; abort('VERSION missing') unless defined?(Quench::VERSION); puts Quench::VERSION" + + warnings: + + name: Warnings + + runs-on: ubuntu-latest + + steps: + - name: Checking out code + uses: actions/checkout@v4 + + - name: Remove Gemfile.lock + shell: bash + run: rm -f Gemfile.lock + + - name: Set up Ruby + uses: ruby/setup-ruby@v1 + with: + ruby-version: '3.4' + bundler-cache: false + + - name: Install gems + run: bundle install + + - name: Show Ruby version + run: ruby -v + + - name: Run unit tests with warnings + run: ./run_all_unit_tests.sh --lib --warnings diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..ce639ca --- /dev/null +++ b/.gitignore @@ -0,0 +1,57 @@ +# directories (by name) + +/.bundle/ +/.bzr/ +/.config/ +/.svn/ +/.vscode/ +/.yardoc/ + +/_build/ +/_yardoc/ + +/InstalledFiles/ +/build/ +/coverage/ +/doc/ +/lib/bundler/man/ +/old-gems/ +/pkg/ +/rdoc/ +/scratch/ +/spec/reports/ +/test/tmp/ +/test/version_tmp/ +/tmp/ +/vendor/bundle/ + + +# directories (by pattern) + + +# files (by name) + +.DS_Store +.repl_history +.ruby-version +.rvmrc + +Gemfile.lock + +/spec/examples.txt + + +# files (by pattern) + +*~ +*.*~ +.dat* +*.b64 +*.bridgesupport +*.gem +*.rbc +*.scc +*.suo +*.swp +*.tmp +*.zip diff --git a/.ruby-version-exclusions b/.ruby-version-exclusions new file mode 100644 index 0000000..a8df221 --- /dev/null +++ b/.ruby-version-exclusions @@ -0,0 +1,2 @@ +1.8.7-p375 +1.9.3-p551 diff --git a/.sis/project_name.txt b/.sis/project_name.txt new file mode 100644 index 0000000..d2ac7f8 --- /dev/null +++ b/.sis/project_name.txt @@ -0,0 +1 @@ +Quench.Ruby diff --git a/.vimrc b/.vimrc new file mode 100644 index 0000000..b8184be --- /dev/null +++ b/.vimrc @@ -0,0 +1,70 @@ +" Synesis Ruby project .vimrc — aligned with .vscode/settings.json (2-space Ruby) + +set nocompatible +filetype indent plugin on +syntax enable +set autoindent +set backspace=indent,eol,start +set hlsearch +set incsearch +set number + +" files.insertFinalNewline +set eol +set fixeol + +" editor.renderWhitespace: all +set list +set listchars=tab:->,trail:-,extends:>,precedes:<,nbsp:+ + +" editor.detectIndentation: false — global defaults (editor.tabSize: 2, insertSpaces: true) +set colorcolumn=76 +set expandtab +set shiftwidth=2 +set softtabstop=2 +set tabstop=2 + +" colorcolumn draws a full-column tint in Vim (not a VS Code-style 1px line). +" Keep it subtle via the ColorColumn highlight group; reapply after colorscheme changes. +if has('termguicolors') + " set termguicolors +endif + +function! s:ConfigureColorColumn() abort + highlight ColorColumn ctermbg=236 guibg=#2a2a2a cterm=NONE gui=NONE +endfunction + +call s:ConfigureColorColumn() +autocmd ColorScheme * call s:ConfigureColorColumn() + +" files.trimTrailingWhitespace +autocmd BufWritePre * %s/\s\+$//e + +augroup sis_c_cxx + autocmd! + + " [c] / [cpp] + autocmd FileType c,cpp setlocal expandtab tabstop=4 shiftwidth=4 softtabstop=4 colorcolumn=60,64,68,72,76 + + " [rust] + autocmd FileType rs setlocal expandtab tabstop=4 shiftwidth=4 softtabstop=4 colorcolumn=76 + + " [cmake] + autocmd FileType cmake setlocal noexpandtab tabstop=4 shiftwidth=4 softtabstop=4 + + " [shellscript] + autocmd FileType sh,bash,zsh setlocal expandtab tabstop=2 shiftwidth=2 softtabstop=2 colorcolumn=60,76 + + " [bat] + autocmd FileType bat,dosbatch setlocal expandtab tabstop=4 shiftwidth=4 softtabstop=4 colorcolumn=60,76 + + " [json] / [markdown] / [yaml] / [ruby] + autocmd FileType json,markdown,yaml,ruby setlocal expandtab tabstop=2 shiftwidth=2 softtabstop=2 + + " [python] + autocmd FileType python setlocal expandtab tabstop=4 shiftwidth=4 softtabstop=4 colorcolumn=60,76 + + " [toml] + autocmd FileType toml setlocal noexpandtab tabstop=2 shiftwidth=2 softtabstop=2 +augroup END + diff --git a/AUTHORS.md b/AUTHORS.md new file mode 100644 index 0000000..14aec27 --- /dev/null +++ b/AUTHORS.md @@ -0,0 +1,21 @@ +# Quench.Ruby - Authors + + +## Major Contributors + +| Name | GitHub | +| ----------- | --------------------------------- | +| Matt Wilson | [mwsis](https://github.com/mwsis) | + + +## Defect reports, fixes and suggestions (for which we are very grateful) + +| Name | GitHub | +| ----------- | --------------------------------- | +| \ | | + + +Contributions are welcomed. + + + diff --git a/CHANGES.md b/CHANGES.md new file mode 100644 index 0000000..ab538ed --- /dev/null +++ b/CHANGES.md @@ -0,0 +1,20 @@ +# Quench.Ruby - Changes + + +## 0.0.1 - 19th August 2026 + +* initial gold-standard packaging: **Gemfile**, **quench-ruby.gemspec**, **Rakefile**, GitHub Actions **ruby.yml**, **.sis**, **.editorconfig**, **.gitattributes**, **.gitignore**, helper scripts, and the Synesis markdown set; +* stub library surface: `Quench` module and **VERSION** constants (`lib/quench.rb`, `lib/quench/version.rb`); +* **quench-ruby.gemspec**: `spec.name` is `quench-ruby` (the name `quench` is taken on RubyGems); `required_ruby_version` is the range `>= 2.0`; **Gemfile.lock** and **.ruby-version** excluded from `spec.files`; `spec.summary` matches the README tagline; packaged **AUTHORS**, **CHANGES**, **CONTRIBUTING**, **EXAMPLES**, **FAQ**, **INSTALL**, **NEWS**, **SECURITY**, **TODO**; +* **Gemfile** sets `lockfile false` when Bundler supports it; do not track **Gemfile.lock**; +* CI uses `bundler-cache: false` and explicit `bundle install`; **Warnings** job on Ruby **3.4**; `gem build quench-ruby.gemspec`; +* added **run_all_unit_tests.sh** (from https://github.com/synesissoftware/misc-dev-scripts) that skips **tput** when **$TERM** is unset or stdout is not a TTY; +* **LICENSE** copyright holder filled in (Matthew Wilson and Synesis Information Systems, 2018–2026); + + +## 0.0.0 - 3rd August 2018 + +* initial commit; + + + diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..5aa3a3d --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,36 @@ +# Quench.Ruby - Contributing + + +## Table of Contents + +- [Defects and features](#defects-and-features) +- [Pull requests](#pull-requests) +- [Tests](#tests) +- [License](#license) + + +## Defects and features + +Open an issue on https://github.com/synesissoftware/Quench.Ruby/issues. + + +## Pull requests + +Pull requests are welcome on https://github.com/synesissoftware/Quench.Ruby. Keep diffs local to the change; match existing indentation (2 spaces in Ruby) and the Synesis markdown set (**README.md**, **CHANGES.md**, **NEWS.md**, **TODO.md**, **INSTALL.md**, **CONTRIBUTING.md**, **SECURITY.md**). + + +## Tests + +``` +bundle exec rake test +``` + +or `./run_all_unit_tests.sh`. + + +## License + +Contributions are accepted under the 3-clause BSD license. See [LICENSE](./LICENSE). + + + diff --git a/EXAMPLES.md b/EXAMPLES.md new file mode 100644 index 0000000..f82da59 --- /dev/null +++ b/EXAMPLES.md @@ -0,0 +1,6 @@ +# Quench.Ruby - Examples + +No example programs yet: the library currently ships as a stub (`Quench` + `VERSION` only). Examples will be added under [./examples/](./examples/) when the quenching API is implemented. + + + diff --git a/FAQ.md b/FAQ.md new file mode 100644 index 0000000..983ac62 --- /dev/null +++ b/FAQ.md @@ -0,0 +1,27 @@ +# Quench.Ruby - FAQ + +The FAQ list is under (constant) development. If you post a question on the +[Issues](https://github.com/synesissoftware/Quench.Ruby/issues) forum +it will be used to create one. + + +## Table of Contents + +- [Q1: "How do I install this library?"](#q1-how-do-i-install-this-library) + + +# FAQs: + + +## Q1: "How do I install this library?" + +Install via **gem**: + +``` +gem install quench-ruby +``` + +See [README.md](./README.md) for usage. + + + diff --git a/Gemfile b/Gemfile new file mode 100644 index 0000000..79965e8 --- /dev/null +++ b/Gemfile @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +source "https://rubygems.org" + +# Suppress lockfile on Bundler 4+ (gem: do not pin the graph). No-op on +# Bundler that lacks the DSL (Ruby 2.x CI). Do not combine with +# ruby/setup-ruby `bundler-cache: true` — that action cats Gemfile.lock +# after `bundle lock` and fails when no file is written (Windows 3.2+, +# where setup-ruby installs Bundler ~> 4). +lockfile false if respond_to?(:lockfile) + +gemspec + +# rake 13 requires Ruby >= 2.3 +if Gem::Version.new(RUBY_VERSION) >= Gem::Version.new("2.3") + + gem "rake", '~> 13.0' +else + + gem "rake", '~> 12.3' +end + +gem "test-unit", '~> 3.0' diff --git a/INSTALL.md b/INSTALL.md new file mode 100644 index 0000000..2c3b2a4 --- /dev/null +++ b/INSTALL.md @@ -0,0 +1,41 @@ +# Quench.Ruby - Installation and Use + + +## Table of Contents + +- [Install the gem](#install-the-gem) +- [From a source checkout](#from-a-source-checkout) +- [Using the library](#using-the-library) + + +## Install the gem + +``` +gem install quench-ruby +``` + +or add to a **Gemfile**: + +```Ruby +gem 'quench-ruby' +``` + +then `bundle install`. + + +## From a source checkout + +``` +bundle install +bundle exec rake test +``` + + +## Using the library + +```Ruby +require 'quench' +``` + + + diff --git a/LICENSE b/LICENSE index d079534..4d3112a 100644 --- a/LICENSE +++ b/LICENSE @@ -1,29 +1,30 @@ -BSD 3-Clause License +Quench.Ruby - BSD 3-Clause License -Copyright (c) 2018, +Copyright (c) 2018-2026, Matthew Wilson and Synesis Information Systems All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. +1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. -* Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. +3. Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. diff --git a/NEWS.md b/NEWS.md new file mode 100644 index 0000000..80d005f --- /dev/null +++ b/NEWS.md @@ -0,0 +1,9 @@ +# Quench.Ruby - News + +| Date | News Item | +| ---------------- | ------------------------------------------------------------------------------------------ | +| 19th August 2026 | [**Quench.Ruby** 0.0.1](https://github.com/synesissoftware/Quench.Ruby/releases/tag/0.0.1) | +| 3rd August 2018 | **Quench.Ruby** 0.0.0 released | + + + diff --git a/README.md b/README.md new file mode 100644 index 0000000..9168e94 --- /dev/null +++ b/README.md @@ -0,0 +1,127 @@ +# Quench.Ruby + +Customisable exception-quenching library, for Ruby + +![Language](https://img.shields.io/badge/Ruby-CC342D?style=flat&logo=ruby&logoColor=white) +[![License](https://img.shields.io/badge/License-BSD_3--Clause-blue.svg)](https://opensource.org/licenses/BSD-3-Clause) +[![Gem Version](https://badge.fury.io/rb/quench-ruby.svg)](https://badge.fury.io/rb/quench-ruby) +[![Last Commit](https://img.shields.io/github/last-commit/synesissoftware/Quench.Ruby)](https://github.com/synesissoftware/Quench.Ruby/commits/master) +[![Ruby](https://github.com/synesissoftware/Quench.Ruby/actions/workflows/ruby.yml/badge.svg)](https://github.com/synesissoftware/Quench.Ruby/actions/workflows/ruby.yml) + + +## Table of Contents + +- [Introduction](#introduction) +- [Installation](#installation) +- [Components](#components) +- [Examples](#examples) +- [Project Information](#project-information) + - [Where to get help](#where-to-get-help) + - [Contribution guidelines](#contribution-guidelines) + - [Dependencies](#dependencies) + - [Efferent (fan-out)](#efferent-fan-out) + - [Runtime Dependencies (aka "Normal Dependencies")](#runtime-dependencies-aka-normal-dependencies) + - [Development Dependencies](#development-dependencies) + - [Afferent (fan-in)](#afferent-fan-in) + - [Runtime dependents](#runtime-dependents) + - [Development dependents](#development-dependents) + - [Related projects](#related-projects) + - [License](#license) + + +## Introduction + +**Quench** provides customisable exception-quenching utilities. **Quench.Ruby** is the **Ruby** implementation. + +The library currently ships as a stub: the `Quench` module and version constants only. The quenching API is not yet implemented. + + +## Installation + +Install via **gem** as in: + +``` +gem install quench-ruby +``` + +or add it to your `Gemfile`. + +**Quench.Ruby** requires Ruby **2.0+**. + +Use via **require**, as in: + +```Ruby +require 'quench' +``` + + +## Components + +* **`Quench`** — top-level namespace; +* **`Quench::VERSION`** — library version string; +* **`Quench::VERSION_MAJOR`**, **`Quench::VERSION_MINOR`**, **`Quench::VERSION_REVISION`** — version parts; + + +## Examples + +The library currently ships as a stub, so there are no worked examples yet. See [EXAMPLES.md](./EXAMPLES.md). + + +## Project Information + + +### Where to get help + +[GitHub Page](https://github.com/synesissoftware/Quench.Ruby "GitHub Page") + + +### Contribution guidelines + +Defect reports, feature requests, and pull requests are welcome on https://github.com/synesissoftware/Quench.Ruby. + + +### Dependencies + + +#### Efferent (fan-out) + +Libraries upon which **Quench.Ruby** depends: + + +##### Runtime Dependencies (aka "Normal Dependencies") + +* \; + + +##### Development Dependencies + +* [**rake**](https://rubygems.org/gems/rake); +* [**test-unit**](https://rubygems.org/gems/test-unit); + + +#### Afferent (fan-in) + +Projects that depend on **Quench.Ruby**: + + +##### Runtime dependents + +* \; + + +##### Development dependents + +* \; + + +### Related projects + +* \; + + +### License + +**Quench.Ruby** is released under the 3-clause BSD license. See [LICENSE](./LICENSE) for details. + + + diff --git a/Rakefile b/Rakefile new file mode 100644 index 0000000..6b7bf44 --- /dev/null +++ b/Rakefile @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +# Rakefile for Quench.Ruby + +require 'rake/testtask' + + +Rake::TestTask.new do |tt| + + tt.libs << 'lib' + tt.libs << 'test' + tt.name = 'test' + tt.test_files = FileList['test/**/tc_*.rb'] + tt.verbose = true +end + + +task :default => :test + + +# ############################## end of file ############################# # diff --git a/SECURITY.md b/SECURITY.md new file mode 100644 index 0000000..c1c6bfb --- /dev/null +++ b/SECURITY.md @@ -0,0 +1,22 @@ +# Quench.Ruby - Security + + +## Table of Contents + +- [Reporting a vulnerability](#reporting-a-vulnerability) +- [Supported versions](#supported-versions) + + +## Reporting a vulnerability + +Please report security issues privately via GitHub Security Advisories on https://github.com/synesissoftware/Quench.Ruby/security, or by opening an issue if an advisory cannot be filed. Do not attach exploit proofs of concept against third-party systems. + + +## Supported versions + +| Version | Supported | +| ------- | --------- | +| 0.0.x | ✅ | + + + diff --git a/TODO.md b/TODO.md new file mode 100644 index 0000000..9a4e305 --- /dev/null +++ b/TODO.md @@ -0,0 +1,23 @@ +# Quench.Ruby - TODO + + +## Functional improvements + +* [ ] implement the exception-quenching API (currently stub: `Quench` + `VERSION` only); + + +## Performance improvements + +* \ diff --git a/build_gem.cmd b/build_gem.cmd new file mode 100644 index 0000000..c894c21 --- /dev/null +++ b/build_gem.cmd @@ -0,0 +1,13 @@ +@ECHO OFF + +REM ######################################################################## +REM File: build_gem.cmd +REM +REM Purpose: Builds the gem +REM +REM Created: 11th July 2016 +REM Updated: 14th August 2026 +REM +REM ######################################################################## + +FOR %%f IN (*.gemspec) DO gem build "%%f" %* diff --git a/build_gem.sh b/build_gem.sh new file mode 100755 index 0000000..864823e --- /dev/null +++ b/build_gem.sh @@ -0,0 +1,13 @@ +#! /bin/bash + +############################################################################# +# File: build_gem.sh +# +# Purpose: Builds the gem +# +# Created: 9th June 2016 +# Updated: 14th August 2026 +# +############################################################################# + +gem build *.gemspec $* diff --git a/generate_rdoc.cmd b/generate_rdoc.cmd new file mode 100644 index 0000000..4f6f7ad --- /dev/null +++ b/generate_rdoc.cmd @@ -0,0 +1,28 @@ +@ECHO OFF + +REM ######################################################################## +REM File: generate_rdoc.cmd +REM +REM Purpose: Generates documentation +REM +REM Created: 14th August 2026 +REM Updated: 14th August 2026 +REM +REM ######################################################################## + +IF EXIST doc RMDIR /S /Q doc +rdoc ^ + -x build_gem.cmd ^ + -x build_gem.sh ^ + -x generate_rdoc.cmd ^ + -x generate_rdoc.sh ^ + -x run_all_unit_tests.sh ^ + -x *.gemspec ^ + -x doc/ ^ + -x gems/ ^ + -x old-gems/ ^ + -x test/performance/ ^ + -x test/scratch/ ^ + -x tc_.*\.rb ^ + -x ts_all.rb ^ + %* diff --git a/generate_rdoc.sh b/generate_rdoc.sh new file mode 100755 index 0000000..e7dc865 --- /dev/null +++ b/generate_rdoc.sh @@ -0,0 +1,31 @@ +#! /bin/bash + +############################################################################# +# File: generate_rdoc.sh +# +# Purpose: Generates documentation +# +# Created: 11th June 2016 +# Updated: 14th August 2026 +# +############################################################################# + +rm -rfd doc +rdoc \ + -x build_gem.cmd \ + -x build_gem.sh \ + -x generate_rdoc.cmd \ + -x generate_rdoc.sh \ + -x run_all_unit_tests.sh \ + -x *.gemspec \ + \ + -x doc/ \ + -x gems/ \ + -x old-gems/ \ + -x test/performance/ \ + -x test/scratch/ \ + \ + -x tc_.*\.rb \ + -x ts_all.rb \ + \ + $* diff --git a/lib/quench.rb b/lib/quench.rb new file mode 100644 index 0000000..a382c75 --- /dev/null +++ b/lib/quench.rb @@ -0,0 +1,54 @@ +# frozen_string_literal: true +# ######################################################################## # +# File: quench.rb +# +# Purpose: Top-level include for Quench.Ruby library +# +# Created: 19th August 2026 +# Updated: 19th August 2026 +# +# Home: https://github.com/synesissoftware/Quench.Ruby +# +# Author: Matthew Wilson +# +# Copyright (c) 2018-2026, Matthew Wilson and Synesis Information Systems +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are +# met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# * Neither the names of the copyright holders nor the names of its +# contributors may be used to endorse or promote products derived from +# this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS +# IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, +# THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR +# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# +# ######################################################################## # + + +=begin +=end + +module Quench + +end # module Quench + +require 'quench/version' diff --git a/lib/quench/version.rb b/lib/quench/version.rb new file mode 100644 index 0000000..f19963b --- /dev/null +++ b/lib/quench/version.rb @@ -0,0 +1,67 @@ +# frozen_string_literal: true +# ######################################################################## # +# File: lib/quench/version.rb +# +# Purpose: Version for Quench.Ruby library +# +# Created: 19th August 2026 +# Updated: 19th August 2026 +# +# Home: https://github.com/synesissoftware/Quench.Ruby +# +# Author: Matthew Wilson +# +# Copyright (c) 2018-2026, Matthew Wilson and Synesis Information Systems +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are +# met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# * Neither the names of the copyright holders nor the names of its +# contributors may be used to endorse or promote products derived from +# this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS +# IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, +# THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR +# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# +# ######################################################################## # + + +=begin +=end + +module Quench + + # Current version of the Quench.Ruby library + VERSION = '0.0.1' + + private + VERSION_PARTS_ = VERSION.split(/[.]/).collect { |n| n.to_i } # :nodoc: + public + # Major version of the Quench.Ruby library + VERSION_MAJOR = VERSION_PARTS_[0] # :nodoc: + # Minor version of the Quench.Ruby library + VERSION_MINOR = VERSION_PARTS_[1] # :nodoc: + # Revision version of the Quench.Ruby library + VERSION_REVISION = VERSION_PARTS_[2] # :nodoc: +end # module Quench + + +# ############################## end of file ############################# # diff --git a/quench-ruby.gemspec b/quench-ruby.gemspec new file mode 100644 index 0000000..3974502 --- /dev/null +++ b/quench-ruby.gemspec @@ -0,0 +1,68 @@ +# ######################################################################## # +# File: quench-ruby.gemspec +# +# Purpose: Gemspec for Quench.Ruby library +# +# Created: 19th August 2026 +# Updated: 19th August 2026 +# +# ######################################################################## # + + +$:.unshift File.join(File.dirname(__FILE__), 'lib') + +require 'quench/version' + + +Gem::Specification.new do |spec| + + spec.name = 'quench-ruby' + spec.summary = 'Customisable exception-quenching library, for Ruby' + spec.version = Quench::VERSION + spec.description = <= 2.0' ] + + spec.metadata = { + 'bug_tracker_uri' => 'https://github.com/synesissoftware/Quench.Ruby/issues', + 'changelog_uri' => 'https://github.com/synesissoftware/Quench.Ruby/blob/master/CHANGES.md', + 'homepage_uri' => 'https://github.com/synesissoftware/Quench.Ruby', + 'source_code_uri' => 'https://github.com/synesissoftware/Quench.Ruby', + } + + spec.files = Dir[ + 'Rakefile', + '{bin,examples,lib,man,spec,test}/**/*', + 'AUTHORS*', + 'CHANGES*', + 'CONTRIBUTING*', + 'EXAMPLES*', + 'FAQ*', + 'INSTALL*', + 'LICENSE*', + 'NEWS*', + 'README*', + 'SECURITY*', + 'TODO*', + ] & `git ls-files -z`.split("\0") + spec.files -= [ + '.ruby-version', + 'Gemfile.lock', + ] +end + + +# ############################## end of file ############################# # diff --git a/run_all_unit_tests.sh b/run_all_unit_tests.sh new file mode 100755 index 0000000..0a05634 --- /dev/null +++ b/run_all_unit_tests.sh @@ -0,0 +1,313 @@ +#! /bin/bash + +# ######################################################################## # +# File: run_all_unit_tests.sh +# +# Purpose: Executes the unit-tests of a Ruby project regardless of +# calling directory, allowing use of debug mode, warnings, and +# executing each rbenv version +# +# Created: 9th June 2011 +# Updated: 19th August 2026 +# +# Copyright (c) Matthew Wilson, 2011-2026 +# All rights reserved +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are +# met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# * Neither the names of the copyright holder nor the names of its +# contributors may be used to endorse or promote products derived from +# this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS +# IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, +# THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR +# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# +# ######################################################################## # + + +# constants + +Source="${BASH_SOURCE[0]}" +while [ -h "$Source" ]; do + + ScriptDir="$(cd -P "$(dirname "$Source")" && pwd)" + Source="$(readlink "$Source")" + [[ $Source != /* ]] && Source="$ScriptDir/$Source" +done +ScriptDir="$(cd -P "$( dirname "$Source" )" && pwd)" +Basename="$(basename "$Source")" + + +# colours + +SisClr_Blue=${FG_BLUE:-} +SisClr_Red=${FG_RED:-} +SisClr_Bold=${FD_BOLD:-} +SisClr_None=${FD_NONE:-} + +if [ -n "${TERM:-}" ] && [ -t 1 ] && command -v tput >/dev/null 2>&1; then + + if tput sgr0 >/dev/null 2>&1; then + + SisClr_Blue=${FG_BLUE:-$(tput setaf 4)} + SisClr_Red=${FG_RED:-$(tput setaf 1)} + SisClr_Bold=${FD_BOLD:-$(tput bold)} + SisClr_None=${FD_NONE:-$(tput sgr0)} + fi +fi + + +# special command-line handling ('--pwd', '--rbenv-versions') + +ProjectDir="$ScriptDir" +ForwardArgs=() +FoundHelp= +RunRbEnvAllVersions= + +for arg in "$@" +do + + case "$arg" in + + --help) + + FoundHelp=1 + ForwardArgs+=("$arg") + ;; + --pwd) + + ProjectDir=$(pwd) + ForwardArgs+=("$arg") + ;; + --rbenv-versions) + + RunRbEnvAllVersions=1 + ;; + *) + + ForwardArgs+=("$arg") + ;; + esac +done + +if [ ! -z "$FoundHelp" ]; then + + RunRbEnvAllVersions= +fi + +if [ ! -z "$RunRbEnvAllVersions" ]; then + + if ! command -v rbenv > /dev/null; then + + >&2 echo "$0: ${SisClr_Red}${SisClr_Bold}rbenv${SisClr_None} not detected" + + exit 1 + fi + + exclusions=() + if [ -e "$ProjectDir/.ruby-version-exclusions" ]; then + + exclusion_lines=`cat "$ProjectDir/.ruby-version-exclusions"` + for line in $exclusion_lines; do + + exclusions+=("$line") + done + fi + + echo "executing command line '${SisClr_Blue}${SisClr_Bold}$0 ${ForwardArgs[*]}${SisClr_None}' with all Ruby versions ..." + + current= + if [ -f "$ProjectDir/.ruby-version" ]; then + + current=$(tr -d '[:space:]' < "$ProjectDir/.ruby-version") + fi + + if ! version_output=$(rbenv versions --bare); then + + >&2 echo "$0: ${SisClr_Red}${SisClr_Bold}failed to enumerate Ruby versions via rbenv${SisClr_None}" + exit 1 + fi + + versions=() + if [ -n "$version_output" ]; then + + while IFS= read -r line; do + + versions+=("$line") + done <<< "$version_output" + fi + + echo "versions: ${SisClr_Blue}${SisClr_Bold}${versions[*]}${SisClr_None}; skipped versions: ${SisClr_Blue}${SisClr_Bold}${exclusions[*]}${SisClr_None}; current version: ${SisClr_Blue}${SisClr_Bold}${current:-(none)}${SisClr_None}" + + result=0 + + for version in "${versions[@]}" + do + + echo + + skip= + + for exclusion in "${exclusions[@]}"; do + + if [[ "$exclusion" == "$version" ]]; then + + skip=1 + fi + done + + if [ "$skip" != "" ]; then + + echo "skipping Ruby version ${SisClr_Blue}${SisClr_Bold}$version${SisClr_None}:" + else + + echo "processing Ruby version ${SisClr_Blue}${SisClr_Bold}$version${SisClr_None}:" + + echo -e "\texecuting command line 'RBENV_VERSION=$version $0 ${ForwardArgs[*]}' with Ruby version $version ..." + + if ! RBENV_VERSION="$version" "$0" "${ForwardArgs[@]}"; then + + result=1 + fi + fi + done + + exit $result +fi + + +# regular command-line handling + +Separate= +DebugFlag= +PrependLib= +WarningsFlag=-W0 + +for v in "$@" +do + + case "$v" in + + --debug) + + DebugFlag=--debug + ;; + --help) + + cat << EOF +USAGE: $Basename { | --help | [ --debug ] [ --lib ] [ --pwd ] [ --rbenv-versions ] [ --separate ] [ --warnings ]} + +flags: + + --help + shows this help and terminates + + --debug + executes Ruby interpreter in debug mode + + --lib + prepends the lib directory under the script's directory into RUBYLIB before executing + + --pwd + executes from present working directory, rather than relative to the script directory + + --rbenv-versions + executes this script (with all other specified arguments) for each rbenv version (except those listed in the file .ruby-version-exclusions, if present) + + --separate + executes each unit-test in a separate program + + --warnings + executes Ruby interpreter in warnings mode +EOF + + exit 0 + ;; + --lib) + + PrependLib=1 + ;; + --pwd) + + # already-processed as special case above + ;; + --rbenv-versions) + + # already-processed as special case above + ;; + --separate) + + Separate=true + ;; + --warnings|--warn) + + WarningsFlag=-W2 #-W:performance + ;; + *) + + >&2 echo "unrecognised argument '$v'; use --help for usage" + + exit 1 + ;; + esac +done + + +# executing tests + +if [ ! -z "$PrependLib" ]; then + + export RUBYLIB=$ProjectDir/lib:$RUBYLIB +fi + + +if [ -z "$Separate" ]; then + + ruby $DebugFlag $WarningsFlag "$ProjectDir/test/unit/ts_all.rb" +else + + result=0 + + test_files=$(mktemp "${TMPDIR:-/tmp}/run_all_unit_tests.XXXXXX") || { + >&2 echo "$0: ${SisClr_Red}${SisClr_Bold}failed to create temporary file for test discovery${SisClr_None}" + exit 1 + } + trap 'rm -f "$test_files"' EXIT + + if ! find "$ProjectDir" -name 'tc_*.rb' -print0 > "$test_files"; then + >&2 echo "$0: ${SisClr_Red}${SisClr_Bold}failed to discover test files${SisClr_None}" + exit 1 + fi + + while IFS= read -r -d '' testfile; do + + if ! ruby $DebugFlag $WarningsFlag "$testfile"; then + + result=1 + fi + done < "$test_files" + + exit $result +fi + + +# ############################## end of file ############################# # + diff --git a/test/unit/tc_version.rb b/test/unit/tc_version.rb new file mode 100755 index 0000000..9fffdfc --- /dev/null +++ b/test/unit/tc_version.rb @@ -0,0 +1,37 @@ +#! /usr/bin/env ruby + +$:.unshift File.join(File.dirname(__FILE__), '../../lib') + + +require 'quench/version' + +require 'test/unit' + + +class Test_version < Test::Unit::TestCase + + def test_has_VERSION + + assert defined? Quench::VERSION + end + + def test_has_VERSION_MAJOR + + assert defined? Quench::VERSION_MAJOR + end + + def test_has_VERSION_MINOR + + assert defined? Quench::VERSION_MINOR + end + + def test_has_VERSION_REVISION + + assert defined? Quench::VERSION_REVISION + end + + def test_VERSION_has_consistent_format + + assert_equal Quench::VERSION.split('.')[0..2].join('.'), "#{Quench::VERSION_MAJOR}.#{Quench::VERSION_MINOR}.#{Quench::VERSION_REVISION}" + end +end diff --git a/test/unit/ts_all.rb b/test/unit/ts_all.rb new file mode 100755 index 0000000..7b324e0 --- /dev/null +++ b/test/unit/ts_all.rb @@ -0,0 +1,11 @@ +#! /usr/bin/env ruby +# +# executes all other tests + +this_dir = File.expand_path(File.dirname(__FILE__)) + +# all tc_*rb in current directory +Dir[File.join(this_dir, 'tc_*rb')].each { |file| require file } + +# all ts_*rb in immediate sub-directories +Dir[File.join(this_dir, '*', 'ts_*rb')].each { |file| require file } From a4354a06e947962eceedbbc834cf76d6f72ae4a0 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 19 Aug 2026 02:18:05 +0000 Subject: [PATCH 2/2] Bump actions/checkout from 4 to 7 Bumps [actions/checkout](https://github.com/actions/checkout) from 4 to 7. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v4...v7) --- updated-dependencies: - dependency-name: actions/checkout dependency-version: '7' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- .github/workflows/ruby.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ruby.yml b/.github/workflows/ruby.yml index 483b012..23afd69 100644 --- a/.github/workflows/ruby.yml +++ b/.github/workflows/ruby.yml @@ -67,7 +67,7 @@ jobs: steps: - name: Checking out code - uses: actions/checkout@v4 + uses: actions/checkout@v7 - name: Remove Gemfile.lock shell: bash @@ -106,7 +106,7 @@ jobs: steps: - name: Checking out code - uses: actions/checkout@v4 + uses: actions/checkout@v7 - name: Remove Gemfile.lock shell: bash