Skip to content

dpoggi/rack-olark

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Rack::Olark

Middleware which inserts Olark JavaScript embed code before in HTML served by Rack.

Usage

In config.ru, or wherever else you mount middleware:

use Rack::Olark, id: '1234-567-89-0123'

All non-special options given to Rack::Olark are passed through as JavaScript in the following manner:

olark.configure('key', value);

There are two special options: id and paths.

id is your Olark Site-ID, and the middleware won't allow your app to boot without it.

paths decides which of your routes will display the Olark chat box. It accepts an array of routes, with the leading slash (/) included. paths defaults to empty array ([]), causing Olark to be embedded for every route. As of version 0.0.4, routes in paths can also be described with a Regexp. Non-Regexp paths entries will be handled using:

/^#{Regexp.escape('/my/path')}$/

Example of usage with options:

use Rack::Olark, {
  :id                          => '1234-567-89-0123',
  :paths                       => ['/', '/aboutus'],
  'features.attention_grabber' => true,
}

Note that in order to use custom Olark JavaScript options, you may have to revert to hashrocket syntax, as they tend to contain characters Ruby doesn't like in symbols.

Acknowledgements

Originally based on code from rack-google-analytics. Never would've gotten started without them!

Copyright

Copyright (C) 2011 Dan Poggi. MIT License, see LICENSE for details.

About

Rack middleware for embedding the Olark chat widget

Resources

License

Stars

Watchers

Forks

Packages

No packages published