You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This idea started with a PR I sent to actual react-rails before it hit 1.0 release. I didn't have time to finish it then, and the structure of the react-rails codebase has changed considerably in latest master, so it is now
quite easy to write a renderer as a plugin. Rewriting it as a modular plugin also allowed me to
Not be beholden to the Apache 2 license on react-rails
Not be beholden to the Facebook CLA
Own the code myself!
Kudos to Facebook for making react-rails more modular so I could easily write this plugin!
Installation
Add this line to your application's Gemfile:
gem'react-rails-benchmark_renderer'
And then execute:
$ bundle
Or install it yourself as:
$ gem install react-rails-benchmark_renderer
Usage
To simply use the reference implementation, just edit your application.rb with:
Use Concern::Implementation to enhance any React ServerRendering Renderer with benchmarking.
Usage is just like you can see in the reference implementation:
require"react/server_rendering/concerns/instrumentation"# Extends SprocketsRenderer for benchmarking in the Rails environment# - benchmarks rendering in the same manner as Rails view rendering is benchmarked by RailsmoduleReactmoduleServerRenderingclassBenchmarkRenderer < SprocketsRendererincludeConcerns::Instrumentationendendend
Development
After checking out the repo, run bin/setup to install dependencies. Then, 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 to create a git tag for the version, push git commits and tags, and push the .gem file to rubygems.org.
Maintenance
To release a new version, update the version number in version.rb, and then run bundle exec rake release to create a git tag for the version, push git commits and tags, and push the .gem file to rubygems.org.
Versioning
This library aims to adhere to Semantic Versioning 2.0.0.
Violations of this scheme should be reported as bugs. Specifically,
if a minor or patch version is released that breaks backward
compatibility, a new version should be immediately released that
restores compatibility. Breaking changes to the public API will
only be introduced with new major versions.
As a result of this policy, you can (and should) specify a
dependency on this gem using the Pessimistic Version Constraint with two digits of precision.