Comments (4)
Hi @andresespinosapc! Currently it's not possible (see OneOf docs), but it might be a useful feature 🙂
from store_model.
I have been trying to figure out how to do this for ages, unfortunately Rails just doesn't appear to expose a good way to do it.
from store_model.
I have a slightly different use case that likely requires a similar solution.
Given a store_model_class
instance method on an ActiveRecord model that returns a dynamically generated StoreModel::Model
class, I'd like to do:
attribute :data, proc { store_model_class.to_type }
The issue seems to be that the binding of the proc is the class instead of an instance of the class. This makes sense considering attribute
is a class method.
The OneOf
implementation is interesting because it allows you to have logic that targets the model instance's JSON data but not the model instance itself. The question is, how do we get the binding of the proc to be the instance of the model or at least include the instance of the model somewhere?
After some digging it's not clear how this can be achieved.
@DmitryTsepelev any pointers would be appreciated. Thanks.
from store_model.
I have been digging into this problem as well, but the issue for me is at what point in time should you actually include the StoreModel, you could do it on the setters for that other fields, but that is not enough as setter are not always used. Ideally you would set the when the data is loaded into the instance of the object, so you can alter the objects singleton class.
Any idea what even we could maybe monkey patch with a callback?
from store_model.
Related Issues (20)
- Aliasing an attribute HOT 1
- GraphQL input type fails to cast HOT 4
- ArgumentError: wrong number of arguments (given 1, expected 0) in random model HOT 3
- Assignment Doesn't work in OneOf case HOT 3
- Delegation of `fetch` to `attributes` causes issues HOT 2
- NameError: uninitialized constant StoreModel::Types::ArrayType HOT 3
- Default values for attributes when retrieving the store model HOT 1
- Decoding Custom Types HOT 1
- Allow an option to disallow "UnknownAttributes" behavior HOT 1
- ActiveRecord validation contexts don't propagate HOT 1
- Override methods HOT 3
- Broken defaults in 2.0 HOT 2
- Attribute encryption with ActiveRecord::Encryption HOT 1
- StoreModel Stringifying json when saving. HOT 14
- accepts_nested_attributes_for allow partial updates HOT 2
- [QUESTION] How preserve data on update? HOT 1
- JSON deserializing empty string, leads to nil error
- Optional tracking of parent functionality HOT 4
- Registering StoreModels as ActiveModel types HOT 1
- NoMethodError serialize_unknown_attributes? on upgrading to 3.0.0 HOT 3
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 store_model.