ember_simple_auth-rails 0.4.0 → 0.5.0

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: 07741959b67e856d702b434adb200d3f44a5fe0f
4
- data.tar.gz: 5826b6b4444b4e1fd43b2a87ba1ea8b8e71f6072
3
+ metadata.gz: c712424c0c6c9b070df390bbd3c176c9bdb29b90
4
+ data.tar.gz: bf11d01a6f13699f90f05f9d9d705bb8d2f02d20
5
5
  SHA512:
6
- metadata.gz: 81bfc6433b42d4b008b1b82f63415cc76d27f614fac0421b5916f29f65b0787413a9b93b016498290307aabfa184b767e9fdf5216f3e0a48dfe4e74caeac88ba
7
- data.tar.gz: 95aad7c271b5adafb06213c1dca97bfeae3cdd475568ae93e5095d887bd38eeff970403d9941a1b1116b7ebc85f3fba7957224dbb67f3ac8cdefe475f70d24aa
6
+ metadata.gz: 848f5821f40b7f280d5cdb4a7e9691a1a03337a63ef139d931b7760d528f7d78ded2476dfa37d1b6c6e0170e61ca5ddc63ba067432e7b1b533b954798a4e565c
7
+ data.tar.gz: 7d9f664de21baf6f748e8e184ee0f980138ddc6b9b12cce15c1f4a2f849567bf0c829f5ddf16477b71f41578b37b9146f30319b042ca35fd0abd1a922a813b6b
@@ -1,5 +1,5 @@
1
1
  module EmberSimpleAuth
2
2
  module Rails
3
- VERSION = "0.4.0"
3
+ VERSION = "0.5.0"
4
4
  end
5
5
  end
@@ -79,9 +79,6 @@ define("ember-simple-auth-cookie-store/stores/cookie",
79
79
  stores data but instead of cookies relies on the `localStorage` API and does
80
80
  not need to poll for external changes.
81
81
 
82
- This store will trigger the `'updated'` event when any of its cookies is
83
- changed from another tab or window.
84
-
85
82
  _The factory for this store is registered as
86
83
  `'ember-simple-auth-session-store:cookie'` in Ember's container._
87
84
 
@@ -206,7 +203,7 @@ define("ember-simple-auth-cookie-store/stores/cookie",
206
203
  var data = this.restore();
207
204
  if (!Ember.SimpleAuth.Utils.flatObjectsAreEqual(data, this._lastData)) {
208
205
  this._lastData = data;
209
- this.trigger('updated', data);
206
+ this.trigger('sessionDataUpdated', data);
210
207
  }
211
208
  if (!Ember.testing) {
212
209
  Ember.run.cancel(this._syncDataTimeout);
@@ -109,8 +109,8 @@ define("ember-simple-auth-devise/authenticators/devise",
109
109
 
110
110
  /**
111
111
  Restores the session from a set of session properties; __will return a
112
- resolving promise when there's a non-empty `auth_token` and a non-empty
113
- `auth_email` in the `properties`__ and a rejecting promise otherwise.
112
+ resolving promise when there's a non-empty `user_token` and a non-empty
113
+ `user_email` in the `properties`__ and a rejecting promise otherwise.
114
114
 
115
115
  @method restore
116
116
  @param {Object} properties The properties to restore the session from
@@ -118,7 +118,7 @@ define("ember-simple-auth-devise/authenticators/devise",
118
118
  */
119
119
  restore: function(properties) {
120
120
  return new Ember.RSVP.Promise(function(resolve, reject) {
121
- if (!Ember.isEmpty(properties.auth_token) && !Ember.isEmpty(properties.auth_email)) {
121
+ if (!Ember.isEmpty(properties.user_token) && !Ember.isEmpty(properties.user_email)) {
122
122
  resolve(properties);
123
123
  } else {
124
124
  reject();
@@ -76,8 +76,8 @@ define("ember-simple-auth-oauth2/authenticators/oauth2",
76
76
  ([RFC 6749](http://tools.ietf.org/html/rfc6749)), specifically the _"Resource
77
77
  Owner Password Credentials Grant Type"_.
78
78
 
79
- This authenticator supports refreshing the access token automatically and
80
- will trigger the `'updated'` event each time the token was refreshed.
79
+ This authenticator supports access token refresh (see
80
+ [RFC 6740, section 6](http://tools.ietf.org/html/rfc6749#section-6)).
81
81
 
82
82
  _The factory for this authenticator is registered as
83
83
  `'ember-simple-auth-authenticator:oauth2-password-grant'` in Ember's
@@ -88,6 +88,14 @@ define("ember-simple-auth-oauth2/authenticators/oauth2",
88
88
  @extends Base
89
89
  */
90
90
  var OAuth2 = Ember.SimpleAuth.Authenticators.Base.extend({
91
+ /**
92
+ Triggered when the authenticator refreshes the access token (see
93
+ [RFC 6740, section 6](http://tools.ietf.org/html/rfc6749#section-6)).
94
+
95
+ @event updated
96
+ @param {Object} data The updated session data
97
+ */
98
+
91
99
  /**
92
100
  The endpoint on the server the authenticator acquires the access token
93
101
  from.
@@ -262,7 +270,7 @@ define("ember-simple-auth-oauth2/authenticators/oauth2",
262
270
  var expiresAt = _this.absolutizeExpirationTime(expiresIn);
263
271
  var data = Ember.$.extend(response, { expires_in: expiresIn, expires_at: expiresAt, refresh_token: refreshToken });
264
272
  _this.scheduleAccessTokenRefresh(expiresIn, null, refreshToken);
265
- _this.trigger('updated', data);
273
+ _this.trigger('sessionDataUpdated', data);
266
274
  resolve(data);
267
275
  });
268
276
  }, function(xhr, status, error) {
@@ -128,12 +128,6 @@ define("ember-simple-auth/authenticators/base",
128
128
  [Ember.SimpleAuth.Stores.Base](#Ember-SimpleAuth-Stores-Base)) is sufficient
129
129
  for the session to be authenticated or not.
130
130
 
131
- Authenticators may trigger the `'updated'` and the `'invalidated'` events.
132
- The `'updated'` event signals that the session data changed while the
133
- `'ìnvalidated`' event signals that the authenticator decided that the
134
- session became invalid. Both events are handled by the session automatically.
135
- The `'updated'` event requires the complete session data as its argument.
136
-
137
131
  __Custom authenticators have to be registered with Ember's dependency
138
132
  injection container__ so that the session can retrieve an instance, e.g.:
139
133
 
@@ -159,6 +153,28 @@ define("ember-simple-auth/authenticators/base",
159
153
  @uses Ember.Evented
160
154
  */
161
155
  var Base = Ember.Object.extend(Ember.Evented, {
156
+ /**
157
+ __Triggered when the data that constitutes the session is updated by the
158
+ authenticator__. This might happen e.g. because the authenticator refreshes
159
+ it or an event from is triggered from an external authentication provider.
160
+ The session automatically catches that event, passes the updated data back
161
+ to the authenticator's
162
+ [Ember.SimpleAuth.Authenticators.Base#restore](#Ember-SimpleAuth-Authenticators-Base-restore)
163
+ method and handles the result of that invocation accordingly.
164
+
165
+ @event sessionDataUpdated
166
+ @param {Object} data The updated session data
167
+ */
168
+ /**
169
+ __Triggered when the data that constitutes the session is invalidated by
170
+ the authenticator__. This might happen e.g. because the date expires or an
171
+ event is triggered from an external authentication provider. The session
172
+ automatically catches that event and invalidates itself.
173
+
174
+ @event sessionDataInvalidated
175
+ @param {Object} data The updated session data
176
+ */
177
+
162
178
  /**
163
179
  Restores the session from a set of properties. __This method is invoked by
164
180
  the session either after the application starts up and session data was
@@ -331,22 +347,6 @@ define("ember-simple-auth/core",
331
347
  return crossOriginWhitelist.indexOf(urlOrigin) > -1 || urlOrigin === documentOrigin;
332
348
  }
333
349
 
334
- function setupSession(store, container) {
335
- var session = Session.create({ store: store, container: container });
336
- var router = container.lookup('router:main');
337
- Ember.A([
338
- 'sessionAuthenticationSucceeded',
339
- 'sessionAuthenticationFailed',
340
- 'sessionInvalidationSucceeded',
341
- 'sessionInvalidationFailed'
342
- ]).forEach(function(event) {
343
- session.on(event, function(error) {
344
- router.send(event, error);
345
- });
346
- });
347
- return session;
348
- }
349
-
350
350
  var extensionInitializers = [];
351
351
 
352
352
  /**
@@ -446,7 +446,7 @@ define("ember-simple-auth/core",
446
446
 
447
447
  options.storeFactory = options.storeFactory || 'ember-simple-auth-session-store:local-storage';
448
448
  var store = container.lookup(options.storeFactory);
449
- var session = setupSession(store, container);
449
+ var session = Session.create({ store: store, container: container });
450
450
 
451
451
  container.register('ember-simple-auth-session:main', session, { instantiate: false });
452
452
  Ember.A(['controller', 'route']).forEach(function(component) {
@@ -462,6 +462,11 @@ define("ember-simple-auth/core",
462
462
  authorizer.authorize(jqXHR, options);
463
463
  }
464
464
  });
465
+ Ember.$(document).ajaxError(function(event, jqXHR, setting, exception) {
466
+ if (jqXHR.status === 401) {
467
+ session.trigger('authorizationFailed');
468
+ }
469
+ });
465
470
  }
466
471
  } else {
467
472
  Ember.Logger.debug('No authorizer factory was specified for Ember.SimpleAuth - specify one if backend requests need to be authorized.');
@@ -531,12 +536,35 @@ define("ember-simple-auth/mixins/application_route_mixin",
531
536
  invalidation fails. These actions provide a good starting point for adding
532
537
  custom behavior to these events.
533
538
 
539
+ __When this mixin is used and the application's ApplicationRoute defines the
540
+ `acticate` method, that method has to call `_super`.__
541
+
534
542
  @class ApplicationRouteMixin
535
543
  @namespace $mainModule
536
544
  @extends Ember.Mixin
537
545
  @static
538
546
  */
539
547
  var ApplicationRouteMixin = Ember.Mixin.create({
548
+ /**
549
+ @method activate
550
+ @private
551
+ */
552
+ activate: function() {
553
+ var _this = this;
554
+ Ember.A([
555
+ 'sessionAuthenticationSucceeded',
556
+ 'sessionAuthenticationFailed',
557
+ 'sessionInvalidationSucceeded',
558
+ 'sessionInvalidationFailed',
559
+ 'authorizationFailed'
560
+ ]).forEach(function(event) {
561
+ _this.get('session').on(event, function(error) {
562
+ Array.prototype.unshift.call(arguments, event);
563
+ _this.send.apply(_this, arguments);
564
+ });
565
+ });
566
+ },
567
+
540
568
  actions: {
541
569
  /**
542
570
  This action triggers transition to the `authenticationRoute` specified in
@@ -658,17 +686,6 @@ define("ember-simple-auth/mixins/application_route_mixin",
658
686
  */
659
687
  authorizationFailed: function() {
660
688
  this.get(Configuration.sessionPropertyName).invalidate();
661
- },
662
-
663
- /**
664
- @method actions.error
665
- @private
666
- */
667
- error: function(reason) {
668
- if (reason.status === 401) {
669
- this.send('authorizationFailed');
670
- }
671
- return true;
672
689
  }
673
690
  }
674
691
  });
@@ -766,10 +783,10 @@ define("ember-simple-auth/mixins/authentication_controller_mixin",
766
783
  [Ember.SimpleAuth.Session#authenticate](#Ember-SimpleAuth-Session-authenticate)).
767
784
 
768
785
  @method actions.authenticate
769
- @param {Object} options Any options the auhtenticator needs to authenticate the session
786
+ @param {Object} options Any options the authenticator needs to authenticate the session
770
787
  */
771
788
  authenticate: function(options) {
772
- this.get(Configuration.sessionPropertyName).authenticate(this.get('authenticatorFactory'), options);
789
+ return this.get(Configuration.sessionPropertyName).authenticate(this.get('authenticatorFactory'), options);
773
790
  }
774
791
  }
775
792
  });
@@ -889,6 +906,50 @@ define("ember-simple-auth/session",
889
906
  @uses Ember.Evented
890
907
  */
891
908
  var Session = Ember.ObjectProxy.extend(Ember.Evented, {
909
+ /**
910
+ Triggered __whenever the session is successfully authenticated__. When the
911
+ application uses the mixin,
912
+ [Ember.SimpleAuth.ApplicationRouteMixin.actions#sessionAuthenticationSucceeded](#Ember-SimpleAuth-ApplicationRouteMixin-sessionAuthenticationSucceeded)
913
+ will be invoked whenever this event is triggered.
914
+
915
+ @event sessionAuthenticationSucceeded
916
+ */
917
+ /**
918
+ Triggered __whenever an attempt to authenticate the session fails__. When
919
+ the application uses the mixin,
920
+ [Ember.SimpleAuth.ApplicationRouteMixin.actions#sessionAuthenticationFailed](#Ember-SimpleAuth-ApplicationRouteMixin-sessionAuthenticationFailed)
921
+ will be invoked whenever this event is triggered.
922
+
923
+ @event sessionAuthenticationFailed
924
+ @param {Object} error The error object; this depends on the authenticator in use, see [Ember.SimpleAuth.Authenticators.Base#authenticate](#Ember-SimpleAuth-Authenticators-Base-authenticate)
925
+ */
926
+ /**
927
+ Triggered __whenever the session is successfully invalidated__. When the
928
+ application uses the mixin,
929
+ [Ember.SimpleAuth.ApplicationRouteMixin.actions#sessionInvalidationSucceeded](#Ember-SimpleAuth-ApplicationRouteMixin-sessionInvalidationSucceeded)
930
+ will be invoked whenever this event is triggered.
931
+
932
+ @event sessionInvalidationSucceeded
933
+ */
934
+ /**
935
+ Triggered __whenever an attempt to invalidate the session fails__. When the
936
+ application uses the mixin,
937
+ [Ember.SimpleAuth.ApplicationRouteMixin.actions#sessionInvalidationFailed](#Ember-SimpleAuth-ApplicationRouteMixin-sessionInvalidationFailed)
938
+ will be invoked whenever this event is triggered.
939
+
940
+ @event sessionInvalidationFailed
941
+ @param {Object} error The error object; this depends on the authenticator in use, see [Ember.SimpleAuth.Authenticators.Base#invalidate](#Ember-SimpleAuth-Authenticators-Base-invalidate)
942
+ */
943
+ /**
944
+ Triggered __whenever the server rejects the authorization information
945
+ passed with a request and responds with status 401__. When the application
946
+ uses the mixin,
947
+ [Ember.SimpleAuth.ApplicationRouteMixin.actions#authorizationFailed](#Ember-SimpleAuth-ApplicationRouteMixin-authorizationFailed)
948
+ will be invoked whenever this event is triggered.
949
+
950
+ @event authorizationFailed
951
+ */
952
+
892
953
  /**
893
954
  The authenticator factory used to authenticate the session. This is only
894
955
  set when the session is currently authenticated.
@@ -993,7 +1054,7 @@ define("ember-simple-auth/session",
993
1054
  return new Ember.RSVP.Promise(function(resolve, reject) {
994
1055
  var authenticator = _this.container.lookup(_this.authenticatorFactory);
995
1056
  authenticator.invalidate(_this.content).then(function() {
996
- authenticator.off('updated');
1057
+ authenticator.off('sessionDataUpdated');
997
1058
  _this.clear(true);
998
1059
  resolve();
999
1060
  }, function(error) {
@@ -1034,6 +1095,7 @@ define("ember-simple-auth/session",
1034
1095
  */
1035
1096
  setup: function(authenticatorFactory, content, trigger) {
1036
1097
  trigger = !!trigger && !this.get('isAuthenticated');
1098
+ this.beginPropertyChanges();
1037
1099
  this.setProperties({
1038
1100
  isAuthenticated: true,
1039
1101
  authenticatorFactory: authenticatorFactory,
@@ -1042,6 +1104,7 @@ define("ember-simple-auth/session",
1042
1104
  this.bindToAuthenticatorEvents();
1043
1105
  var data = Ember.$.extend({ authenticatorFactory: authenticatorFactory }, this.content);
1044
1106
  this.store.replace(data);
1107
+ this.endPropertyChanges();
1045
1108
  if (trigger) {
1046
1109
  this.trigger('sessionAuthenticationSucceeded');
1047
1110
  }
@@ -1053,12 +1116,14 @@ define("ember-simple-auth/session",
1053
1116
  */
1054
1117
  clear: function(trigger) {
1055
1118
  trigger = !!trigger && this.get('isAuthenticated');
1119
+ this.beginPropertyChanges();
1056
1120
  this.setProperties({
1057
1121
  isAuthenticated: false,
1058
1122
  authenticatorFactory: null,
1059
1123
  content: {}
1060
1124
  });
1061
1125
  this.store.clear();
1126
+ this.endPropertyChanges();
1062
1127
  if (trigger) {
1063
1128
  this.trigger('sessionInvalidationSucceeded');
1064
1129
  }
@@ -1071,12 +1136,12 @@ define("ember-simple-auth/session",
1071
1136
  bindToAuthenticatorEvents: function() {
1072
1137
  var _this = this;
1073
1138
  var authenticator = this.container.lookup(this.authenticatorFactory);
1074
- authenticator.off('updated');
1075
- authenticator.off('invalidated');
1076
- authenticator.on('updated', function(content) {
1139
+ authenticator.off('sessionDataUpdated');
1140
+ authenticator.off('sessionDataInvalidated');
1141
+ authenticator.on('sessionDataUpdated', function(content) {
1077
1142
  _this.setup(_this.authenticatorFactory, content);
1078
1143
  });
1079
- authenticator.on('invalidated', function(content) {
1144
+ authenticator.on('sessionDataInvalidated', function(content) {
1080
1145
  _this.clear(true);
1081
1146
  });
1082
1147
  },
@@ -1087,7 +1152,7 @@ define("ember-simple-auth/session",
1087
1152
  */
1088
1153
  bindToStoreEvents: function() {
1089
1154
  var _this = this;
1090
- this.store.on('updated', function(content) {
1155
+ this.store.on('sessionDataUpdated', function(content) {
1091
1156
  var authenticatorFactory = content.authenticatorFactory;
1092
1157
  if (!!authenticatorFactory) {
1093
1158
  delete content.authenticatorFactory;
@@ -1146,19 +1211,24 @@ define("ember-simple-auth/stores/base",
1146
1211
  Ember.SimpleAuth's setup
1147
1212
  (see [Ember.SimpleAuth.setup](#Ember-SimpleAuth-setup)).
1148
1213
 
1149
- Stores may trigger the `'updated'` event when their data changed due to
1150
- external actions (e.g. from another tab). The session listens to that event
1151
- and will handle the changes accordingly. Whenever the event is triggered by
1152
- the store, the session will forward the data to its authenticator which
1153
- decides whether the session is still valid (see
1154
- [Ember.SimpleAuth.Authenticators.Base#restore](#Ember-SimpleAuth-Authenticators-Base-restore)).
1155
-
1156
1214
  @class Base
1157
1215
  @namespace Stores
1158
1216
  @extends Ember.Object
1159
1217
  @uses Ember.Evented
1160
1218
  */
1161
1219
  var Base = Ember.Object.extend(Ember.Evented, {
1220
+ /**
1221
+ __Triggered when the data that constitutes the session changes in the
1222
+ store. This usually happens because the session is authenticated or
1223
+ invalidated in another tab or window.__ The session automatically catches
1224
+ that event, passes the updated data to its authenticator's
1225
+ [Ember.SimpleAuth.Authenticators.Base#restore](#Ember-SimpleAuth-Authenticators-Base-restore)
1226
+ method and handles the result of that invocation accordingly.
1227
+
1228
+ @event sessionDataUpdated
1229
+ @param {Object} data The updated session data
1230
+ */
1231
+
1162
1232
  /**
1163
1233
  Persists the `data` in the store.
1164
1234
 
@@ -1291,9 +1361,6 @@ define("ember-simple-auth/stores/local_storage",
1291
1361
  /**
1292
1362
  Store that saves its data in the browser's `localStorage`.
1293
1363
 
1294
- This store will trigger the `'updated'` event when any of the keys it manages
1295
- is changed from another tab or window.
1296
-
1297
1364
  _The factory for this store is registered as
1298
1365
  `'ember-simple-auth-session-store:local-storage'` in Ember's container._
1299
1366
 
@@ -1405,7 +1472,7 @@ define("ember-simple-auth/stores/local_storage",
1405
1472
  _this._lastData = data;
1406
1473
  Ember.run.cancel(_this._triggerChangeEventTimeout);
1407
1474
  _this._triggerChangeEventTimeout = Ember.run.next(_this, function() {
1408
- this.trigger('updated', data);
1475
+ this.trigger('sessionDataUpdated', data);
1409
1476
  });
1410
1477
  }
1411
1478
  });
metadata CHANGED
@@ -1,55 +1,55 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ember_simple_auth-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
4
+ version: 0.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - frederik dudzik
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-05-17 00:00:00.000000000 Z
11
+ date: 2014-05-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ~>
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
19
  version: '1.5'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ~>
24
+ - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: '1.5'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rake
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - '>='
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
33
  version: '0'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - '>='
38
+ - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: railties
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - '>'
45
+ - - ">"
46
46
  - !ruby/object:Gem::Version
47
47
  version: '3.1'
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - '>'
52
+ - - ">"
53
53
  - !ruby/object:Gem::Version
54
54
  version: '3.1'
55
55
  description:
@@ -59,14 +59,14 @@ executables: []
59
59
  extensions: []
60
60
  extra_rdoc_files: []
61
61
  files:
62
- - lib/ember_simple_auth/rails/version.rb
62
+ - LICENSE.txt
63
+ - README.md
63
64
  - lib/ember_simple_auth/rails.rb
65
+ - lib/ember_simple_auth/rails/version.rb
64
66
  - vendor/assets/javascripts/ember-simple-auth-cookie-store.js
65
67
  - vendor/assets/javascripts/ember-simple-auth-devise.js
66
68
  - vendor/assets/javascripts/ember-simple-auth-oauth2.js
67
69
  - vendor/assets/javascripts/ember-simple-auth.js
68
- - LICENSE.txt
69
- - README.md
70
70
  homepage: https://github.com/doodzik/ember_simple_auth-rails
71
71
  licenses:
72
72
  - MIT
@@ -77,17 +77,17 @@ require_paths:
77
77
  - lib
78
78
  required_ruby_version: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - '>='
80
+ - - ">="
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
83
  required_rubygems_version: !ruby/object:Gem::Requirement
84
84
  requirements:
85
- - - '>='
85
+ - - ">="
86
86
  - !ruby/object:Gem::Version
87
87
  version: '0'
88
88
  requirements: []
89
89
  rubyforge_project:
90
- rubygems_version: 2.1.3
90
+ rubygems_version: 2.2.2
91
91
  signing_key:
92
92
  specification_version: 4
93
93
  summary: ember-simple-auth for the rails asset pipeline