Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
7ea7596
Modernize build infrastructure
voltechs Mar 31, 2026
8fd7fc9
Fix compatibility with modern ActiveSupport and Faraday 2.x
voltechs Mar 31, 2026
8277697
Fix typos throughout codebase
voltechs Mar 31, 2026
2751977
Implement attribute_changed_in_place? for dirty tracking
voltechs Mar 31, 2026
892dbce
Add "class" to reserved attribute words
voltechs Mar 31, 2026
c0330e7
Handle empty 204 responses on has_many associations
voltechs Mar 31, 2026
74bc996
Cache inverse of has_many through association proxy
voltechs Mar 31, 2026
459845a
Replace setter methods cache with respond_to_without_missing?
voltechs Mar 31, 2026
484e5d3
Return empty collection when where(:foo => []) is given
voltechs Mar 31, 2026
1828781
Add regression tests for cyclic association serialization
voltechs Mar 31, 2026
f6b6775
Add JSON API compound document support
voltechs Mar 31, 2026
0e0e8e8
Fix dup/clone sharing mutable state between copies
voltechs Mar 31, 2026
392affc
Add test for blank? on nil association proxies
voltechs Mar 31, 2026
66263f2
Track new record state explicitly instead of checking id
voltechs Mar 31, 2026
ce1d246
POST to collection path for new records with pre-assigned id
voltechs Mar 31, 2026
7089eb5
Use declared foreign_key in has_many build
voltechs Mar 31, 2026
d37ed41
Add "attributes" to reserved words, fix collision crash
voltechs Mar 31, 2026
cb5ae73
Extract foreign_key helper to Association base class
voltechs Mar 31, 2026
e844e62
Handle string-keyed parsed_data from custom middleware
voltechs Mar 31, 2026
a979126
Fix after_find callback being called twice
voltechs Mar 31, 2026
81f375b
Add cycle detection to inspect for circular associations
voltechs Mar 31, 2026
d1769a4
Fix has_one/belongs_to returning collection in AMS format
voltechs Mar 31, 2026
161e3e6
Fix has_many create not appending to existing collection
voltechs Mar 31, 2026
dc5e7e7
Skip send_only_modified_attributes when changes is empty
voltechs Mar 31, 2026
38f728d
Remove deprecated methods, stale TODOs, and metaclass pattern
voltechs Mar 31, 2026
630c1ee
Update .gitignore for gemfile lockfiles and IDE files
voltechs Mar 31, 2026
4048656
Append built resources to has_many collection
voltechs Mar 31, 2026
54b6028
Preserve Collection type through Array methods
voltechs Mar 31, 2026
edda3f2
Unwrap root key in collections when parse_root_in_json is set
voltechs Mar 31, 2026
d5083ed
Update README and LICENSE for modernization
voltechs Mar 31, 2026
da71292
Replace RuboCop with Qlty for code quality
voltechs Mar 31, 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
40 changes: 40 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
name: CI

on:
push:
branches: [master]
pull_request:
branches: [master]

jobs:
test:
runs-on: ubuntu-latest

strategy:
fail-fast: false
matrix:
ruby: ["3.1", "3.2", "3.3"]
gemfile:
- gemfiles/Gemfile.activemodel-6.1
- gemfiles/Gemfile.activemodel-7.0
- gemfiles/Gemfile.activemodel-7.1
- gemfiles/Gemfile.activemodel-7.2
- gemfiles/Gemfile.activemodel-8.0
exclude:
- ruby: "3.1"
gemfile: gemfiles/Gemfile.activemodel-8.0

env:
BUNDLE_GEMFILE: ${{ matrix.gemfile }}

steps:
- uses: actions/checkout@v4

- name: Set up Ruby ${{ matrix.ruby }}
uses: ruby/setup-ruby@v1
with:
ruby-version: ${{ matrix.ruby }}
bundler-cache: true

- name: Run specs
run: bundle exec rake spec
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
/Gemfile.lock
gemfiles/*.lock
/pkg
/tmp
/coverage
*.code-workspace
57 changes: 57 additions & 0 deletions .qlty/qlty.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
# This file configures Qlty code quality and coverage tools
# For configuration guide: https://qlty.sh/d/config
# For full reference: https://qlty.sh/d/qlty-toml

config_version = "0"

exclude_patterns = [
"*_min.*",
"*-min.*",
"*.min.*",
"**/*.d.ts",
"**/node_modules/**",
"**/vendor/**",
"**/coverage/**",
"**/tmp/**",
"**/pkg/**",
"**/gemfiles/**",
"**/.bundle/**",
]

test_patterns = [
"**/test/**",
"**/spec/**",
"**/*.test.*",
"**/*.spec.*",
"**/*_test.*",
"**/*_spec.*",
]

[smells]
mode = "comment"

[[source]]
name = "default"
default = true

[[plugin]]
name = "actionlint"

[[plugin]]
name = "markdownlint"
drivers = ["lint"]
mode = "comment"

[[plugin]]
name = "ripgrep"
mode = "comment"

[[plugin]]
name = "trivy"
drivers = ["config"]

[[plugin]]
name = "trufflehog"

[[plugin]]
name = "yamllint"
2 changes: 1 addition & 1 deletion .rspec
Original file line number Diff line number Diff line change
@@ -1 +1 @@
--colour --format=documentation
--color --format=documentation
31 changes: 0 additions & 31 deletions .rubocop.yml

This file was deleted.

232 changes: 0 additions & 232 deletions .rubocop_todo.yml

This file was deleted.

2 changes: 1 addition & 1 deletion .ruby-version
Original file line number Diff line number Diff line change
@@ -1 +1 @@
2.2.4
3.3.10
Loading