opencomponents
OpenComponents for Ruby
Important
This gem is still under heavy development and the API is likely to change at any time.
Getting Started
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' }
Getting Rendered Components
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'}
)
Getting Unrendered Components
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.
Integrations
Individual integrations for rendering components in Rails and Sinatra are available.
Contributing
Would be rad. Open a PR or Issue if you have an idea for improvements.
License
Copyright 2015 OpenTable. See LICENSE for details.