0.0
No commit activity in last 3 years
No release in over 3 years
Consume OpenComponents in Ruby
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

~> 1.10

Runtime

 Project Readme

opencomponents

Build Status Coverage Status Code Climate Gem Version Dependency Status

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 RenderedComponents.

Note: UnrenderedComponents 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.