angular-pack 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 045fc40c0d2642373cc8332984696c8bc7f19753
4
- data.tar.gz: bace2c97d7adb12628fcfa7869a9c53f7af1b055
3
+ metadata.gz: 51a9857ad32be4ef885271babd5071230d66871b
4
+ data.tar.gz: 4b69a920cb14c71b9b71646ad23d6d84c8edbd34
5
5
  SHA512:
6
- metadata.gz: b3e7805be6f3b620905d57af4968d62d6985e3777002a7dceb1f9636e80b1fcb1da60f794743b8491308220e640f1161a4c398fbad0c85477051847fee8d2ec2
7
- data.tar.gz: faa01161c85e418bb9523c1e42a333d71535cafcd05a35615f1dbc48586ff47e89d153f00bee7591aaf2dc3bcf38ad2d0e047af7b6fcee97c0f6de3547043bc9
6
+ metadata.gz: ef79726ae6349cdecb22a3f1ff79946b17e131b5e75229d22aa94d1bd6d5548f025d9b0d764f11c63e1d94ed9a76c9c5ca8a3f4e57138154673cac3f279834ca
7
+ data.tar.gz: d38f741933a7003f0bc0a672cdfae9015d184bbf06c1f68a72df0c653ffc6087a9c19c6c0f705e14b73e25c32b0caf2b923a744448add9a8a19e0f806c55c587
data/README.md CHANGED
@@ -36,6 +36,7 @@ Following libraries are available to use:
36
36
  * Angular Scenario
37
37
  * Angular Touch
38
38
  * es5-shim (EcmaScript 5 Support for IE <= 8)
39
+ * Device
39
40
  * NG Grid
40
41
  * UI Router
41
42
  * UI Bootstrap
@@ -1,5 +1,5 @@
1
1
  module Angular
2
2
  module Pack
3
- VERSION = "0.0.1"
3
+ VERSION = "0.0.2"
4
4
  end
5
5
  end
@@ -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.1
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-22 00:00:00.000000000 Z
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