Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
6608451
**run_all_unit_tests.sh** : ~ updated to latest (from https://github.…
synesissoftware Aug 14, 2026
d045585
boilerplate: markdown files
synesissoftware Aug 14, 2026
de7da58
boilerplate: .gitattributes
synesissoftware Aug 14, 2026
3216c36
boilerplate: LICENSE
synesissoftware Aug 14, 2026
9c7c42e
boilerplate: .vscode/settings.json
synesissoftware Aug 14, 2026
84bd78d
boilerplate: .vimrc
synesissoftware Aug 14, 2026
447c540
boilerplate: build_gem.cmd, build_gem.sh, generate_rdoc.cmd, generate…
synesissoftware Aug 14, 2026
241252b
boilerplate: LICENSE
synesissoftware Aug 14, 2026
d5e235f
bolierplate: updating Gemfile
synesissoftware Aug 14, 2026
9244a43
boilerplate: placeholder markdown files
synesissoftware Aug 14, 2026
3cb069c
chore: removed .ruby-version from repository
synesissoftware Aug 14, 2026
90ebc48
boilerplate: .gitignore
synesissoftware Aug 14, 2026
8081fd4
version dependencies
synesissoftware Aug 14, 2026
5012945
boilerplate: .ruby-version-exclusions
synesissoftware Aug 14, 2026
ed57423
Add canonical AUTHORS, FAQ, NEWS, and TODO markdown skeletons
synesissoftware Aug 14, 2026
0c7260a
Fill CHANGES.md from release tags and git history
synesissoftware Aug 14, 2026
ac09aef
Add ruby.yml CI badge and switch Gemfile to gemspec
synesissoftware Aug 14, 2026
1092cd0
chore: dependencies
synesissoftware Aug 14, 2026
29c203d
gemspec updates
synesissoftware Aug 14, 2026
360e74f
chore: AUTHORS.md
synesissoftware Aug 14, 2026
3d92bf8
fix: gemspec metadata
synesissoftware Aug 14, 2026
2330b33
added/updated Rakefile
synesissoftware Aug 14, 2026
aef9303
chore: CONTRIBUTING.md, INSTALL.md, SECURITY.md
synesissoftware Aug 14, 2026
4891cb0
chore: rake in Gemfile
synesissoftware Aug 14, 2026
6d67e62
fix: Add frozen lib/ strings and standardise Ruby gem boilerplate
synesissoftware Aug 14, 2026
d150d7d
standard CI for all projects
synesissoftware Aug 14, 2026
0c8113c
standard .editorconfig and dependabot for all projects
synesissoftware Aug 14, 2026
10e5aa0
TODO.md
synesissoftware Aug 14, 2026
7ff2b82
examples
synesissoftware Aug 14, 2026
4b47b46
CHANGES.md
synesissoftware Aug 14, 2026
4ad4171
NEWS.md
synesissoftware Aug 14, 2026
f37e947
README.md
synesissoftware Aug 14, 2026
300afb8
spacing
synesissoftware Aug 15, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
64 changes: 64 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -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
75 changes: 75 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -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
10 changes: 10 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
version: 2
updates:
- directory: /
package-ecosystem: bundler
schedule:
interval: weekly
- directory: /
package-ecosystem: github-actions
schedule:
interval: weekly
117 changes: 117 additions & 0 deletions .github/workflows/ruby.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,117 @@
# 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: 15th August 2026
# Updated: 15th 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
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-cache: true # runs 'bundle install' and caches installed gems automatically

- 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 cmpfs.gemspec
gem install --local cmpfs-ruby-*.gem
ruby -e "require 'cmpfs/version'; abort('VERSION missing') unless defined?(CmpFS::VERSION); puts CmpFS::VERSION"

warnings:

name: Warnings

runs-on: ubuntu-latest

steps:
- name: Checking out code
uses: actions/checkout@v4

- name: Remove Gemfile.lock
run: rm -f Gemfile.lock

- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: '3.3'
bundler-cache: true

- name: Show Ruby version
run: ruby -v

- name: Run unit tests with warnings
run: ./run_all_unit_tests.sh --lib --warnings
30 changes: 8 additions & 22 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,57 +1,44 @@

# directories (by name)

/.bzr/
/.bundle/
/.config/
/.svn/
/.yardoc/

/_yardoc/

/InstalledFiles/
/build/
/build-iPhoneOS/
/build-iPhoneSimulator/
/coverage/
/doc/
/rdoc/
/lib/bundler/man/
/old-gems/
/pkg/
/rdoc/
/scratch/
/spec/reports/
/test/tmp/
/test/version_tmp/
/tmp/
/vendor/bundle/
/InstalledFiles/


# directories (by pattern)


# files (by name)

.DS_Store
.bundle
.config
.repl_history
.ruby-version
.rvmrc
.yardoc

_yardoc

Gemfile.lock
InstalledFiles
coverage
pkg
rdoc

/spec/examples.txt


# files (by pattern)

.dat*

*~
*.*~
.dat*
*.b64
*.bridgesupport
*.gem
Expand All @@ -61,4 +48,3 @@ rdoc
*.swp
*.tmp
*.zip

1 change: 0 additions & 1 deletion .ruby-version

This file was deleted.

8 changes: 0 additions & 8 deletions .ruby-version-exclusions
Original file line number Diff line number Diff line change
@@ -1,10 +1,2 @@
1.8.7-p375
#1.9.3-p551
#2.0.0-p648
#2.1.10
#2.2.10
#2.3.8
#2.4.5
#2.5.3
#2.6.1

1 change: 1 addition & 0 deletions .sis/project_name.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
cmpfs.Ruby
Loading
Loading