angular-pack 0.0.1 → 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +1 -0
- data/lib/angular/pack/version.rb +1 -1
- data/vendor/assets/javascripts/devise.js +109 -0
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 51a9857ad32be4ef885271babd5071230d66871b
|
4
|
+
data.tar.gz: 4b69a920cb14c71b9b71646ad23d6d84c8edbd34
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ef79726ae6349cdecb22a3f1ff79946b17e131b5e75229d22aa94d1bd6d5548f025d9b0d764f11c63e1d94ed9a76c9c5ca8a3f4e57138154673cac3f279834ca
|
7
|
+
data.tar.gz: d38f741933a7003f0bc0a672cdfae9015d184bbf06c1f68a72df0c653ffc6087a9c19c6c0f705e14b73e25c32b0caf2b923a744448add9a8a19e0f806c55c587
|
data/README.md
CHANGED
data/lib/angular/pack/version.rb
CHANGED
@@ -0,0 +1,109 @@
|
|
1
|
+
'use strict';
|
2
|
+
(function (angular) {
|
3
|
+
var devise = angular.module('Devise', []);
|
4
|
+
devise.factory('deviseInterceptor401', [
|
5
|
+
'$rootScope',
|
6
|
+
'$q',
|
7
|
+
function ($rootScope, $q) {
|
8
|
+
return {
|
9
|
+
responseError: function (response) {
|
10
|
+
if (response.status === 401 && !response.config.ignoreAuth) {
|
11
|
+
var deferred = $q.defer();
|
12
|
+
$rootScope.$broadcast('devise:unauthorized', response, deferred);
|
13
|
+
return deferred.promise;
|
14
|
+
}
|
15
|
+
return $q.reject(response);
|
16
|
+
}
|
17
|
+
};
|
18
|
+
}
|
19
|
+
]).config([
|
20
|
+
'$httpProvider',
|
21
|
+
function ($httpProvider) {
|
22
|
+
$httpProvider.interceptors.push('deviseInterceptor401');
|
23
|
+
}
|
24
|
+
]);
|
25
|
+
devise.provider('Auth', function AuthProvider() {
|
26
|
+
var paths = {
|
27
|
+
login: '/users/sign_in.json',
|
28
|
+
logout: '/users/sign_out.json',
|
29
|
+
register: '/users.json'
|
30
|
+
};
|
31
|
+
var methods = {
|
32
|
+
login: 'POST',
|
33
|
+
logout: 'DELETE',
|
34
|
+
register: 'POST'
|
35
|
+
};
|
36
|
+
var parse = function (response) {
|
37
|
+
return response.data;
|
38
|
+
};
|
39
|
+
function method(action) {
|
40
|
+
return methods[action].toLowerCase();
|
41
|
+
}
|
42
|
+
function path(action) {
|
43
|
+
return paths[action];
|
44
|
+
}
|
45
|
+
function configure(obj, suffix) {
|
46
|
+
angular.forEach(obj, function (v, action) {
|
47
|
+
this[action + suffix] = function (param) {
|
48
|
+
if (param === undefined) {
|
49
|
+
return obj[action];
|
50
|
+
}
|
51
|
+
obj[action] = param;
|
52
|
+
return this;
|
53
|
+
};
|
54
|
+
}, this);
|
55
|
+
}
|
56
|
+
configure.call(this, methods, 'Method');
|
57
|
+
configure.call(this, paths, 'Path');
|
58
|
+
this.parse = function (fn) {
|
59
|
+
if (typeof fn !== 'function') {
|
60
|
+
return parse;
|
61
|
+
}
|
62
|
+
parse = fn;
|
63
|
+
return this;
|
64
|
+
};
|
65
|
+
function constant(arg) {
|
66
|
+
return function () {
|
67
|
+
return arg;
|
68
|
+
};
|
69
|
+
}
|
70
|
+
this.$get = [
|
71
|
+
'$q',
|
72
|
+
'$http',
|
73
|
+
function ($q, $http) {
|
74
|
+
function save(user) {
|
75
|
+
service._currentUser = user;
|
76
|
+
return user;
|
77
|
+
}
|
78
|
+
function reset() {
|
79
|
+
save(null);
|
80
|
+
}
|
81
|
+
var service = {
|
82
|
+
_currentUser: null,
|
83
|
+
login: function (creds) {
|
84
|
+
creds = creds || {};
|
85
|
+
return $http[method('login')](path('login'), { user: creds }).then(parse).then(save);
|
86
|
+
},
|
87
|
+
logout: function () {
|
88
|
+
var returnOldUser = constant(service._currentUser);
|
89
|
+
return $http[method('logout')](path('logout')).then(reset).then(returnOldUser);
|
90
|
+
},
|
91
|
+
register: function (creds) {
|
92
|
+
creds = creds || {};
|
93
|
+
return $http[method('register')](path('register'), { user: creds }).then(parse).then(save);
|
94
|
+
},
|
95
|
+
currentUser: function () {
|
96
|
+
if (service.isAuthenticated()) {
|
97
|
+
return $q.when(service._currentUser);
|
98
|
+
}
|
99
|
+
return service.login();
|
100
|
+
},
|
101
|
+
isAuthenticated: function () {
|
102
|
+
return !!service._currentUser;
|
103
|
+
}
|
104
|
+
};
|
105
|
+
return service;
|
106
|
+
}
|
107
|
+
];
|
108
|
+
});
|
109
|
+
}(angular));
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: angular-pack
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ali Hasan Imam
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-04-
|
11
|
+
date: 2014-04-24 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: AngularJS and AngularUI functionality.
|
14
14
|
email:
|
@@ -36,6 +36,7 @@ files:
|
|
36
36
|
- vendor/assets/javascripts/angular-touch.js
|
37
37
|
- vendor/assets/javascripts/angular-ui-router.js
|
38
38
|
- vendor/assets/javascripts/angular.js
|
39
|
+
- vendor/assets/javascripts/devise.js
|
39
40
|
- vendor/assets/javascripts/es5-shim.js
|
40
41
|
- vendor/assets/javascripts/ng-grid.js
|
41
42
|
- vendor/assets/javascripts/ui-bootstrap-tpls.js
|