Glass is a lightweight Rails Engine that is built to do all the heavy lifting from serving an API in your Rails Application.
- CRUD for your models without a Controller
- Integrates quickly for all client-side Javascript frameworks (Ember, Backbone, Angular)
Add this line to your application's Gemfile:
gem 'glass-api', require: 'glass'
And then execute:
$ bundle
Or install it yourself as:
$ gem install glass-api
And then run:
rails generate glass:install
This generator will install Glass. It will also add an initializer in config/initializer/glass.rb
Glass.configure do |config|
config.models = ['User']
config.app_name = 'Test App'
config.format = :json
end
It will modify your app/assets/javascripts/application.js
, adding:
//= require glass
It will modify your config/routes.rb
, adding:
mount Glass::Engine => '/api', as: 'glass'
Start the server:
rails server
The following usage examples makes use of the Glass API given that you have a
User
model in your Rails app and you have configured the Glass gem to expose it.
Finds a list of records in a model with 'Foo' as name.
glass.User.find({
name: 'Foo'
}, function (error, res) {
if (!error) {
// Do something with res
}
});
The following usage example finds all users.
glass.User.findAll(function (error, res) {
if (!error) {
// Do something with res
}
});
Create a new user record.
var user = {
name: 'Jaune Sarmiento',
email: 'hello@jaunesarmiento.me'
};
glass.User.create(user, function (error, res) {
if (!error) {
// Do something with res
}
});
Update the user with id == 1
and update its name to Joko
.
// Given our create() function returns the user object with 1 as id
var user = {
id: 1,
name: 'Joko'
};
glass.User.update(user, function (error, res) {
if (!error) {
// Do something with res
}
});
Delete a user record with id == 1
.
glass.User.delete({id: 1}, function (error, res) {
if (!error) {
// Do something with res
}
});
- Fork it
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create new Pull Request
MIT. See License for more details. Copyright (c) 2013 TeamSBK. Powered by Proudcloud Inc.