Midge
Midge is a quick and cheap javascript module system for the rails asset pipeline. You can setup multiple namespaces and use them simalar to how Node.js modules work.
Installation
Add this line to your application's Gemfile:
gem 'midge'And then execute:
$ bundleOr install it yourself as:
$ gem install midgeUsage
First run the install.
$ rails generate midge:installIn the initializer you setup what file extensions will go to what "module".
# config/initializers/midge.rb
Midge.setup do |config|
config.jst_processor ".midge_template", "Midge"
config.js_processor ".midge", "Midge"
endWith this setup you can create a file with the extension of ".midge.js" or
".midge.coffee" and it will be module enabled. In the file attach public
functionality onto the exports object. For example:
// app/assets/javascripts/person.midge.js
exports.Person = function() {
this.name = "A guy";
};The output for this after running through the asset pipeline would be something like:
(function(exports) {
exports.Person = function() {
this.name = "A guy";
};
}).call(this, (this.Midge || (this.Midge = {})));So with this in place you can access the Person object on the Midge
namespace.
var guy = new Midge.Person;Voila! Simple albeit limited javascript modules.
Contributing
- Fork it
- Create your feature branch (
git checkout -b my-new-feature) - Commit your changes (
git commit -am 'Added some feature') - Push to the branch (
git push origin my-new-feature) - Create new Pull Request