Jv
Rails JSON View Handler with ruby hash.
Installation
Add this line to your application's Gemfile:
gem 'jv'
And then execute:
$ bundle
Or install it yourself as:
$ gem install jv
Usage
You write view file with extension xxx.json.jv
json = {}
json[:string_property] = @string
json[:integer_property] = 123
json[:array_property] = @integers
json[:object_property] = {
single_partial: r.(partial: 'api/record', locals: { record: { a: 123, b: 100 } }),
collection_partial: r.(partial: 'api/record', collection: @records, as: :record)
}
json
This response is following
{
"string_property": "string",
"integer_property": 123,
"array": [
1,
2,
3,
4,
5
],
"object_property": {
"single_partial": {
"a": 123,
"b": 100
},
"collection_partial": [
{
"a": 123,
"b": 234
},
# ...
]
}
}
Benchmark
Benchmark script is here.
Result
Development
* Rendering 10 partials via render_partial
Warming up --------------------------------------
jbuilder 8.000 i/100ms
jv 10.000 i/100ms
Calculating -------------------------------------
jbuilder 79.193 (
Production
* Rendering 10 partials via render_partial
Warming up --------------------------------------
jbuilder 48.000 i/100ms
jv 88.000 i/100ms
Calculating -------------------------------------
jbuilder 496.263 (
Development
After checking out the repo, run bin/setup to install dependencies. Then, run rake spec to run the tests. You can also run bin/console for an interactive prompt that will allow you to experiment.
To install this gem onto your local machine, run bundle exec rake install. To release a new version, update the version number in version.rb, and then run bundle exec rake release, which will create a git tag for the version, push git commits and tags, and push the .gem file to rubygems.org.
Contributing
Bug reports and pull requests are welcome on GitHub at https://github.com/tzmfreedom/jv.
License
The gem is available as open source under the terms of the MIT License.