Alephant::Renderer
Render snippets of HTML/JSON using templates.
Installation
Add this line to your application's Gemfile:
gem 'alephant-renderer'
And then execute:
bundle
Or install it yourself as:
gem install alephant-renderer
Setup
Please see the wiki guide on setting up a basic renderer.
Usage
require 'alephant/renderer'
require 'json'
config = {
:renderer_id => 'weather',
:view_path => 'src/components'
}
data = {
:summary => 'Light rain starting tonight.',
:temp => '11.86'
}.to_json
Alephant::Renderer.create(
config, data
).views['daily_summary'].render
Note - Within you application you will be most likely providing the data dynamically and thus will not require the JSON library.
Documentation
We have a wiki!
Example Application
The alephant-publisher-request gem is an example of an application which utilises this gem. Overview of process:
- Receives request from user, via Rack.
- Fetches required data dynamically from a given API.
- Renders specified component using data.
- Returns rendered template.
Contributing
- Fork it!
- Create your feature branch:
git checkout -b my-new-feature
- Commit your changes:
git commit -am 'Add some feature'
- Push to the branch:
git push origin my-new-feature
- Create new Pull Request.
Feel free to create an issue if you find a bug.
Coding standards
For any submission, please:
- Run rubocop against it, using these standards
- Ensure all unit tests pass (these are also checked on pushing to your branch)