Comments (7)
After some more spelunking through the code, I see that my use case is not implemented yet. No need to look into this for me. I'm going to see if I can replicate some of the Mongoid features in ActiveRecord.
from garner.
Would be really happy to see complete ActiveRecord support! Currently we say:
Garner provides rudimentary support for ActiveRecord. To use ActiveRecord models for Garner bindings, use Garner::Mixins::ActiveRecord::Base. You can set it up in an initializer:
require "garner/mixins/active_record"
module ActiveRecord
class Base
include Garner::Mixins::ActiveRecord::Base
end
end
from garner.
Hey @mfunaro, I'm using Garner w/ ActiveRecord, but can confirm that binding to classes won't work out of the box (just instances). In order to bind to classes, the ActiveRecord mixin would need to implement ActiveRecord::Base.proxy_binding
as the Mongoid mixin does. For Mongoid, this looks like:
# Only find the latest if we can order by :updated_at
return nil unless fields['updated_at']
only(:_id, :_type, :updated_at).order_by(updated_at: :desc).first
It'd be similar for ActiveRecord. Something like this would work (though it's not optimized):
return nil unless columns.map(&:name).include?('updated_at')
order('updated_at DESC').first
from garner.
Thanks for the responses. @fancyremarker, I did end up doing something very similar to what you suggested to get things working in a fork. I also created an identity for ActiveRecord so that I could use Patient.identify(params[:id])
from garner.
Looking forward to some pull requests!
from garner.
👍 on this...
from garner.
Would love to see a PR for this 👍
from garner.
Related Issues (20)
- Inconsistency between Mongoid find and Garner::Mixins::Mongoid::Document.garnered_find HOT 3
- Can't get it to work with Grape HOT 5
- support for Sequel HOT 2
- Garner/Grape Entity issue HOT 1
- Using non-ORM bindings HOT 1
- Fix Mongoid4 dependency HOT 1
- Support ActiveRecord 4 HOT 1
- Run tests on JRuby HOT 1
- Release Next HOT 2
- Stale record retrieved via garnered_find HOT 9
- Garner.cache loses namespace options when deleting a record as block yields nil HOT 2
- SafeCacheKey + Touch doesn't pass spec/integration/mongoid_spec.rb HOT 1
- Add cache logging support
- Mongoid document proxy binding doesn't work with aliased updated_at field HOT 2
- How to cache only anonymous(non-login) request? HOT 4
- garnered_find slower than find? HOT 4
- Mongo garnered_find not respecting chained criteria
- Default expires_in override global_cache_options HOT 1
- Caching the Index method HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from garner.