-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
First release of River Ruby bindings #1
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
brandur
force-pushed
the
brandur-first-release
branch
8 times, most recently
from
November 20, 2023 00:33
859333e
to
9012077
Compare
brandur
added a commit
to riverqueue/riverqueue-ruby-sequel
that referenced
this pull request
Nov 20, 2023
Related to main `riverqueue` gem's push in [1], this one provides a driver implementation for the Sequel gem. This is a similar concept to use the use of `riverpgxv5` in the main Go package -- it breaks up implementations for specific database packages into separate gems so that projects using River don't have include every third party database framework under the sun. I'll also be writing one for ActiveRecord. Like with [1], functionality for unique jobs and batch inserts is currently missing, to be added on a follow up release. [1] riverqueue/riverqueue-ruby#1
brandur
added a commit
to riverqueue/riverqueue-ruby-sequel
that referenced
this pull request
Nov 20, 2023
Related to main `riverqueue` gem's push in [1], this one provides a driver implementation for the Sequel gem. This is a similar concept to use the use of `riverpgxv5` in the main Go package -- it breaks up implementations for specific database packages into separate gems so that projects using River don't have include every third party database framework under the sun. I'll also be writing one for ActiveRecord. Like with [1], functionality for unique jobs and batch inserts is currently missing, to be added on a follow up release. [1] riverqueue/riverqueue-ruby#1
brandur
force-pushed
the
brandur-first-release
branch
from
November 20, 2023 00:42
9012077
to
6ebdab4
Compare
Usage instructions in README: |
brandur
force-pushed
the
brandur-first-release
branch
from
November 20, 2023 04:55
6ebdab4
to
46b2985
Compare
brandur
added a commit
to riverqueue/riverqueue-ruby-sequel
that referenced
this pull request
Nov 20, 2023
Related to main `riverqueue` gem's push in [1], this one provides a driver implementation for the Sequel gem. This is a similar concept to use the use of `riverpgxv5` in the main Go package -- it breaks up implementations for specific database packages into separate gems so that projects using River don't have include every third party database framework under the sun. I'll also be writing one for ActiveRecord. Like with [1], functionality for unique jobs and batch inserts is currently missing, to be added on a follow up release. [1] riverqueue/riverqueue-ruby#1
brandur
added a commit
to riverqueue/riverqueue-ruby-sequel
that referenced
this pull request
Nov 26, 2023
Related to main `riverqueue` gem's push in [1], this one provides a driver implementation for the Sequel gem. This is a similar concept to use the use of `riverpgxv5` in the main Go package -- it breaks up implementations for specific database packages into separate gems so that projects using River don't have include every third party database framework under the sun. I'll also be writing one for ActiveRecord. Like with [1], functionality for unique jobs and batch inserts is currently missing, to be added on a follow up release. [1] riverqueue/riverqueue-ruby#1
brandur
force-pushed
the
brandur-first-release
branch
from
November 26, 2023 16:38
46b2985
to
dce999d
Compare
brandur
added a commit
to riverqueue/riverqueue-ruby-sequel
that referenced
this pull request
Nov 26, 2023
Related to main `riverqueue` gem's push in [1], this one provides a driver implementation for the Sequel gem. This is a similar concept to use the use of `riverpgxv5` in the main Go package -- it breaks up implementations for specific database packages into separate gems so that projects using River don't have include every third party database framework under the sun. I'll also be writing one for ActiveRecord. Like with [1], functionality for unique jobs and batch inserts is currently missing, to be added on a follow up release. [1] riverqueue/riverqueue-ruby#1
brandur
force-pushed
the
brandur-first-release
branch
from
November 26, 2023 16:57
dce999d
to
eefeaa0
Compare
brandur
force-pushed
the
brandur-first-release
branch
2 times, most recently
from
March 2, 2024 15:25
91b9ec4
to
95daf75
Compare
brandur
added a commit
to riverqueue/riverqueue-ruby-sequel
that referenced
this pull request
Mar 2, 2024
Related to main `riverqueue` gem's push in [1], this one provides a driver implementation for the Sequel gem. This is a similar concept to use the use of `riverpgxv5` in the main Go package -- it breaks up implementations for specific database packages into separate gems so that projects using River don't have include every third party database framework under the sun. I'll also be writing one for ActiveRecord. Like with [1], functionality for unique jobs and batch inserts is currently missing, to be added on a follow up release. [1] riverqueue/riverqueue-ruby#1
brandur
force-pushed
the
brandur-first-release
branch
4 times, most recently
from
March 2, 2024 16:59
8e9e46f
to
8d02904
Compare
brandur
added a commit
to riverqueue/riverqueue-ruby-sequel
that referenced
this pull request
Mar 2, 2024
Related to main `riverqueue` gem's push in [1], this one provides a driver implementation for the Sequel gem. This is a similar concept to use the use of `riverpgxv5` in the main Go package -- it breaks up implementations for specific database packages into separate gems so that projects using River don't have include every third party database framework under the sun. I'll also be writing one for ActiveRecord. Like with [1], functionality for unique jobs and batch inserts is currently missing, to be added on a follow up release. [1] riverqueue/riverqueue-ruby#1
brandur
force-pushed
the
brandur-first-release
branch
from
March 2, 2024 17:32
8d02904
to
72d8f66
Compare
brandur
added a commit
to riverqueue/riverqueue-ruby-sequel
that referenced
this pull request
Mar 2, 2024
Related to main `riverqueue` gem's push in [1], this one provides a driver implementation for the Sequel gem. This is a similar concept to use the use of `riverpgxv5` in the main Go package -- it breaks up implementations for specific database packages into separate gems so that projects using River don't have include every third party database framework under the sun. I'll also be writing one for ActiveRecord. Like with [1], functionality for unique jobs and batch inserts is currently missing, to be added on a follow up release. [1] riverqueue/riverqueue-ruby#1
brandur
added a commit
to riverqueue/riverqueue-ruby-sequel
that referenced
this pull request
Mar 2, 2024
Related to main `riverqueue` gem's push in [1], this one provides a driver implementation for the Sequel gem. This is a similar concept to use the use of `riverpgxv5` in the main Go package -- it breaks up implementations for specific database packages into separate gems so that projects using River don't have include every third party database framework under the sun. I'll also be writing one for ActiveRecord. Like with [1], functionality for unique jobs and batch inserts is currently missing, to be added on a follow up release. [1] riverqueue/riverqueue-ruby#1
brandur
force-pushed
the
brandur-first-release
branch
from
March 2, 2024 17:37
72d8f66
to
3936213
Compare
brandur
added a commit
to riverqueue/riverqueue-ruby-sequel
that referenced
this pull request
Mar 4, 2024
Related to main `riverqueue` gem's push in [1], this one provides a driver implementation for the Sequel gem. This is a similar concept to use the use of `riverpgxv5` in the main Go package -- it breaks up implementations for specific database packages into separate gems so that projects using River don't have include every third party database framework under the sun. I'll also be writing one for ActiveRecord. Like with [1], functionality for unique jobs and batch inserts is currently missing, to be added on a follow up release. [1] riverqueue/riverqueue-ruby#1
brandur
force-pushed
the
brandur-first-release
branch
from
March 5, 2024 01:25
3936213
to
bd4a615
Compare
brandur
added a commit
to riverqueue/riverqueue-ruby-sequel
that referenced
this pull request
Mar 5, 2024
Related to main `riverqueue` gem's push in [1], this one provides a driver implementation for the Sequel gem. This is a similar concept to use the use of `riverpgxv5` in the main Go package -- it breaks up implementations for specific database packages into separate gems so that projects using River don't have include every third party database framework under the sun. I'll also be writing one for ActiveRecord. Like with [1], functionality for unique jobs and batch inserts is currently missing, to be added on a follow up release. [1] riverqueue/riverqueue-ruby#1
brandur
force-pushed
the
brandur-first-release
branch
4 times, most recently
from
March 6, 2024 01:43
3491113
to
e25d151
Compare
So actually, I ended up just moving both the ActiveRecord and Sequel drivers into this main repo. This'll keep changes easier to make in the future since everything will be in one place. |
brandur
added a commit
to riverqueue/riverqueue-ruby-sequel
that referenced
this pull request
Mar 6, 2024
Add a note to the README to indicate that drivers are migrating to a subdirectory in the main GitHub repository: riverqueue/riverqueue-ruby#1
brandur
added a commit
to riverqueue/riverqueue-ruby-sequel
that referenced
this pull request
Mar 6, 2024
Add a note to the README to indicate that drivers are migrating to a subdirectory in the main GitHub repository: riverqueue/riverqueue-ruby#1
brandur
force-pushed
the
brandur-first-release
branch
9 times, most recently
from
April 26, 2024 02:51
020d4a1
to
f96c103
Compare
A first push of Ruby bindings for River, providing insert-only client to work jobs that are implemented in Go. Includes two initial drivers in the `drivers/` directory, one for ActiveRecord and one for Sequel, which should cover the vast majority of Ruby applications making use of Postgres. The drivers are kept in the main gem's GitHub repository for convenience, but ship as separate gems so that programs including them can minimize their dependencies. Overall, I'm happy at how close I was able to keep the API to the Go version. A lot of syntax in Go just isn't needed due to the more dynamic and implicit nature of Ruby, but the parts that came through are quite close. e.g. We have a job args concept, along with `InsertOpts` that can be added to both jobs and at insert time, just like Go. Purposely not implemented on this first push (I'll follow up with these later on): * Unique jobs. * Batch insert. Try to maintain high Ruby quality standards with: * Full spec suite that requires 100.0% branch coverage. * Use standardrb for lint. * Include RBS files with type and run Steep against the project to verify correctness.
brandur
force-pushed
the
brandur-first-release
branch
from
April 26, 2024 02:55
f96c103
to
4eba885
Compare
brandur
added a commit
that referenced
this pull request
Apr 26, 2024
Update various files to prepare for release 0.1.0, containing the initial implementation from #1.
brandur
added a commit
that referenced
this pull request
Apr 26, 2024
Update various files to prepare for release 0.1.0, containing the initial implementation from #1.
Merged
brandur
added a commit
that referenced
this pull request
Apr 26, 2024
Update various files to prepare for release 0.1.0, containing the initial implementation from #1.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
A first push of Ruby bindings for River, providing insert-only client
to work jobs that are implemented in Go.
Includes two initial drivers in the
drivers/
directory, one forActiveRecord and one for Sequel, which should cover the vast majority of
Ruby applications making use of Postgres. The drivers are kept in the
main gem's GitHub repository for convenience, but ship as separate gems
so that programs including them can minimize their dependencies.
Overall, I'm happy at how close I was able to keep the API to the Go
version. A lot of syntax in Go just isn't needed due to the more dynamic
and implicit nature of Ruby, but the parts that came through are quite
close. e.g. We have a job args concept, along with
InsertOpts
that canbe added to both jobs and at insert time, just like Go.
Purposely not implemented on this first push (I'll follow up with these
later on):
Try to maintain high Ruby quality standards with:
verify correctness.