Comments (9)
Hey thanks for your feedback, much appreciated. Here is some thoughts and answers.
- I am the first to admit my API isn't perfect but the way you demonstrated is how I do it too. I use extends in the object to inherit the properties. I don't view that inheritance case as a place for partials. I tend to use partials exclusively in
code
blocks when I want access to the json hash for another object. I tend to use extends in most other cases as you showed there. I don't view it as too clumsy but if you have a better approach I am happy to consider it for the future. - I like this idea but for implementation reasons (when dealing with a collection of objects) with the way RABL is currently set up having access to the object in a collection directly isn't easily possible. It can only be accessed in a lambda and passed it at the time each object is rendered. I can imagine a refactoring of RABL that could support an
current_object
helper that achieves the effect but I probably won't be doing that personally anytime soon unless it becomes an essential use case for me. Thanks for the suggestion and I welcome a patch :) - I completely agree that child should accept an
if
lambda. In fact I am pretty sure it does or did. I use child with if blocks in a couple of my APIs. Are you absolutely certain that they don't work? Notice the call toresolve_conditions
here: https://github.com/nesquena/rabl/blob/master/lib/rabl/builder.rb#L77. If this doesn't work it is a bug and I will fix that soon hopefully.
Thanks again for your feedback and for trying RABL.
from rabl.
This post was very helpful. It was not immediately clear how to reuse templates from the README
.
from rabl.
child (:auto_judge, :if => lambda {|station| station._type == "HumanWorker"}) {....}
gives out <pre><code>(eval):7: syntax error, unexpected ',', expecting ')' child (:auto_judge, :if => lambda {|station| sta... ^
from rabl.
Is that a space after child? Might be the issue
child(:auto_judge, :if => lambda {|station| station._type == "HumanWorker"}) {....}
should work fine...what ruby are you using?
from rabl.
i'm using 1.9.2
child(:line,:if => lambda {@line!=nil}){... }
still no effect??? i'm really stuck on this, am i doing something wrong???
from rabl.
@xecutioner If it really doesn't work, hopefully I can fix it in the next release, I will have to play around. In the meantime try to use:
child @line => :line do
# ...
end unless @line.nil?
from rabl.
Closing this but adding a link the wiki, the bugs mentioned here should be fixed.
from rabl.
Seems bug is back
child (@products, :if => lambda {|product| product.active?}) do
eval):4: syntax error, unexpected ',', expecting ')'
child (@products, :if => lambda {|product| product.active?}) do
from rabl.
It might be the space before the paranthesis, can you try:
child @products, :if => lambda {|product| product.active?} do
# ...
end
from rabl.
Related Issues (20)
- Drop riot? Unmaintained, broken on Ruby 2.5. HOT 2
- How to use rabl with swagger? HOT 2
- Tagging a new version, or use master branch? HOT 1
- Unable to properly render json for an simple array of objects HOT 1
- How do I render free form metadata HOT 1
- Migrating to Rails 5 - Rabl returning Active Record object
- Rspec renders rabl as string instead of json
- Not able to get the rendered result in Rails console HOT 1
- Rabl output values as keys
- Rabl partial lookup based on requested api namespace
- upgrading from 0.14.0 to 0.14.1 is a breaking change HOT 8
- Child removes node from response when the provided object is an empty array HOT 2
- Rabl not renders collection properly HOT 4
- Is nested map valid in RABL?
- N+1 issues HOT 1
- some problems to install rable on windows HOT 2
- Avoid playing with `Oj` shared `default_options` HOT 2
- rabl tests failing with rr 3.x and Ruby 3 HOT 12
- Rails 7 compatibility HOT 1
- access controller instance variables in representers
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 rabl.