-
Notifications
You must be signed in to change notification settings - Fork 2
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
Add a gateway #1
Conversation
@@ -1,22 +1,23 @@ | |||
# encoding: utf-8 | |||
|
|||
group :development do | |||
gem 'rake', '~> 10.0.4' | |||
gem 'rake', '~> 10.1.0' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
* Update schema to use a thread safe Hash. * Add #[] and #[]= methods to the adapter api to allow getting and setting the named relations. * Add initial #update method to the relation/gateway api. Will need to add Axiom::Relation::Operation::Update as well as base #update method to Axiom relations matching this api.
@solnic sorry for the force pushes. Just working on getting the interface right and some of the commit history ended up being garbage. fwiw I usually force force on feature branches, and not master. |
@solnic @mbj @snusu any comments before I merge this in? @mbj I wanted you to check out the addition of the I realize the adapter is really only communicating with the gateway, so in some ways the interface can vary on an adapter by adapter basis, but I've been trying to find an interface that will work in the general case. From there I can begin to make an abstract adapter as well as an abstract gateway; eventually having one gateway for all adapters. The less code a new adapter author has to write the better; I'll leave it open for them to customize one, but we should have good defaults. |
Even though @solnic and I discussed this approach and would like to change the interface to use mutable materialized relations, I'm happy enough that this is moving in a good direction so I'm going to merge this now. I'll begin work on updating |
This branch will add a gateway to the memory adapter. It will also produce a prototype interface for
#update
on the adapter.