OpenComponents for Ruby
This gem is still under heavy development and the API is likely to change at any time.
Add the gem to your Gemfile and run bundle install
:
gem 'opencomponents', '~> 0.4.0'
By default, the gem will attempt to use a component registry located at
http://localhost:3030
.
If you want to use a different registry, you can configure OpenComponents to use
it with:
OpenComponents.configure { |config| config.registry = 'http://some.other.host' }
To request an OpenComponent with its rendered HTML, you can create and load a new
RenderedComponent
object.
component = OpenComponents::RenderedComponent.new('my-awesome-component')
component.load
Optionally, you can also specify parameters, the component version, and additional HTTP headers to request:
component = OpenComponents::RenderedComponent.new(
'my-awesome-component',
params: {name: 'Kate'},
version: '1.0.2',
headers: {accept_language: 'emoji'}
)
If you'd like to perform the component rendering yourself, you can request an
unrendered component from a registry using a UnrenderedComponent
object.
component = OpenComponents::UnrenderedComponent.new('my-awesome-component')
component.load
You can use the same optional params
, version
, and headers
arguments as
RenderedComponent
s.
Note: UnrenderedComponent
s will only fetch component data for you - they
do not provide an interface for rendering them. At the moment, it's up to you to
determine the best way to render the template.
Individual integrations for rendering components in Rails and Sinatra are available.
Would be rad. Open a PR or Issue if you have an idea for improvements.
Copyright 2015 OpenTable. See LICENSE for details.