Bowser

It's like Browser, but smaller. It provides minimal browser support for libraries and frameworks which don't need the full spectrum of support from opal-browser.

Installation

Add this line to your application's Gemfile:

gem 'bowser'

And then execute:

$ bundle

Or install it yourself as:

$ gem install bowser

Usage

Inside your front-end app:

require 'bowser'

Bowser.document # Handle to the current document
Bowser.window   # Handle to the current window

AJAX support

To make HTTP requests to your API, for example, you can do:

Bowser::HTTP.fetch('/api/things')

It returns a Promise, which you can call then, fail, or always on in order to execute a block of code based on success, failure, or either one, respectively.

Bowser::HTTP.fetch(url)
  .then { |response| do_something_with(response.json) }
  .fail { |exception| warn exception.message }
  .always { log "Fetched #{url}" }

The current implementation uses the Promise class from the Opal standard library, but it is not fully A+-compliant, so we're in the process of implementing our own.

Contributing

  1. Fork it
  2. Branch it
  3. Hack it
  4. Save it
  5. Commit it
  6. Push it
  7. Pull-request it