Angular.js + Faye
Usage
Add the following to your gemfile:
gem "angular-faye-rails"
Add the following directive to your Javascript manifest file (application.js):
//= require angular-faye
Example
HTML
<script type="text/javascript" src="/js/angular.min.js"></script>
<script type="text/javascript" src="/js/angular-faye.js"></script>
<script type="text/javascript" src="http://localhost:9292/faye/client.js"></script>
<script type="text/javascript" src="/js/app.js"></script>
JavaScript (app.js)
var app = angular.module('myapp', ['faye']);
app.factory('Faye', ['$faye', function($faye) {
return $faye("http://localhost:9292/faye"); // set faye url in one place
}]);
this.TestCtrl = function($scope, $http, Faye) {
// Publish
Faye.publish("/channel-1", {msg: "hello"});
// Subscribe
$scope.data = [];
Faye.subscribe("/channel-2", function(msg) {
$scope.data.push(msg);
});
// Get just once (using $q - promise)
$scope.data = Faye.get("/channel-3");
};
CoffeeScript (the same as above, just in coffee)
app = angular.module('myapp', ['faye'])
app.factory 'Faye', ['$faye', ($faye) ->
$faye("http://localhost:9292/faye") # set faye url in one place
]
@TestCtrl = ($scope, $http, Faye) ->
# Publish
Faye.publish("/channel-1", {msg: "hello"})
# Subscribe
$scope.data = []
Faye.subscribe "/channel-2", (msg) ->
$scope.data.push msg
# Get just once (using $q - promise)
$scope.data = Faye.get("/channel-3")
Contributing
- 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