Alephant::Renderer

Render snippets of HTML/JSON using templates.

Build Status Gem Version

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:

  1. Receives request from user, via Rack.
  2. Fetches required data dynamically from a given API.
  3. Renders specified component using data.
  4. Returns rendered template.

Contributing

  1. Fork it!
  2. Create your feature branch: git checkout -b my-new-feature
  3. Commit your changes: git commit -am 'Add some feature'
  4. Push to the branch: git push origin my-new-feature
  5. Create new Pull Request.

Feel free to create an issue if you find a bug.

Coding standards

For any submission, please:

  1. Run rubocop against it, using these standards
  2. Ensure all unit tests pass (these are also checked on pushing to your branch)