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 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