doorkeeper 0.3.0 → 0.4.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.
Files changed (176) hide show
  1. data/.gitignore +12 -0
  2. data/.rspec +1 -0
  3. data/.travis.yml +8 -0
  4. data/CHANGELOG.md +98 -0
  5. data/Gemfile +6 -0
  6. data/README.md +42 -6
  7. data/app/controllers/doorkeeper/application_controller.rb +4 -11
  8. data/app/controllers/doorkeeper/applications_controller.rb +7 -1
  9. data/app/controllers/doorkeeper/authorizations_controller.rb +11 -1
  10. data/app/controllers/doorkeeper/authorized_applications_controller.rb +3 -3
  11. data/app/controllers/doorkeeper/tokens_controller.rb +19 -5
  12. data/app/models/doorkeeper/access_grant.rb +28 -0
  13. data/app/models/doorkeeper/access_token.rb +65 -0
  14. data/app/models/doorkeeper/application.rb +54 -0
  15. data/app/views/doorkeeper/applications/index.html.erb +1 -1
  16. data/app/views/doorkeeper/authorizations/error.html.erb +1 -1
  17. data/app/views/doorkeeper/authorizations/new.html.erb +15 -15
  18. data/app/views/doorkeeper/authorized_applications/index.html.erb +1 -2
  19. data/config/locales/en.yml +3 -0
  20. data/doorkeeper.gemspec +28 -0
  21. data/gemfiles/gemfile.rails-3.1.x +7 -0
  22. data/gemfiles/gemfile.rails-3.2.x +7 -0
  23. data/lib/doorkeeper/config.rb +73 -12
  24. data/lib/doorkeeper/doorkeeper_for.rb +19 -15
  25. data/lib/doorkeeper/engine.rb +28 -0
  26. data/lib/doorkeeper/models/scopes.rb +13 -0
  27. data/lib/doorkeeper/oauth/access_token_request.rb +9 -20
  28. data/lib/doorkeeper/oauth/authorization/code.rb +1 -1
  29. data/lib/doorkeeper/oauth/authorization/token.rb +2 -2
  30. data/lib/doorkeeper/oauth/authorization_request.rb +18 -23
  31. data/lib/doorkeeper/oauth/client/credentials.rb +21 -0
  32. data/lib/doorkeeper/oauth/client/methods.rb +18 -0
  33. data/lib/doorkeeper/oauth/client.rb +27 -0
  34. data/lib/doorkeeper/oauth/client_credentials/creator.rb +29 -0
  35. data/lib/doorkeeper/oauth/client_credentials/issuer.rb +35 -0
  36. data/lib/doorkeeper/oauth/client_credentials/response.rb +42 -0
  37. data/lib/doorkeeper/oauth/client_credentials/validation.rb +33 -0
  38. data/lib/doorkeeper/oauth/client_credentials_request.rb +46 -0
  39. data/lib/doorkeeper/oauth/error.rb +9 -0
  40. data/lib/doorkeeper/oauth/error_response.rb +30 -0
  41. data/lib/doorkeeper/oauth/helpers/scope_checker.rb +2 -2
  42. data/lib/doorkeeper/oauth/password_access_token_request.rb +130 -0
  43. data/lib/doorkeeper/oauth/scopes.rb +60 -0
  44. data/lib/doorkeeper/version.rb +1 -1
  45. data/lib/doorkeeper.rb +23 -3
  46. data/lib/generators/doorkeeper/install_generator.rb +1 -0
  47. data/lib/generators/doorkeeper/templates/initializer.rb +12 -7
  48. data/lib/generators/doorkeeper/templates/migration.rb +1 -1
  49. data/lib/generators/doorkeeper/views_generator.rb +15 -0
  50. data/script/rails +6 -0
  51. data/script/run_all +11 -0
  52. data/spec/controllers/applications_controller_spec.rb +18 -0
  53. data/spec/controllers/authorizations_controller_spec.rb +131 -0
  54. data/spec/controllers/protected_resources_controller_spec.rb +308 -0
  55. data/spec/controllers/tokens_controller_spec.rb +34 -0
  56. data/spec/dummy/Rakefile +7 -0
  57. data/spec/dummy/app/assets/javascripts/application.js +9 -0
  58. data/spec/dummy/app/assets/stylesheets/application.css +7 -0
  59. data/spec/dummy/app/controllers/application_controller.rb +3 -0
  60. data/spec/dummy/app/controllers/full_protected_resources_controller.rb +12 -0
  61. data/spec/dummy/app/controllers/home_controller.rb +17 -0
  62. data/spec/dummy/app/controllers/semi_protected_resources_controller.rb +11 -0
  63. data/spec/dummy/app/helpers/application_helper.rb +5 -0
  64. data/spec/dummy/app/models/user.rb +11 -0
  65. data/spec/dummy/app/views/home/index.html.erb +0 -0
  66. data/spec/dummy/app/views/layouts/application.html.erb +16 -0
  67. data/spec/dummy/config/application.rb +53 -0
  68. data/spec/dummy/config/boot.rb +10 -0
  69. data/spec/dummy/config/database.yml +15 -0
  70. data/spec/dummy/config/environment.rb +5 -0
  71. data/spec/dummy/config/environments/development.rb +30 -0
  72. data/spec/dummy/config/environments/production.rb +60 -0
  73. data/spec/dummy/config/environments/test.rb +39 -0
  74. data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
  75. data/spec/dummy/config/initializers/doorkeeper.rb +41 -0
  76. data/spec/dummy/config/initializers/secret_token.rb +7 -0
  77. data/spec/dummy/config/initializers/session_store.rb +8 -0
  78. data/spec/dummy/config/initializers/wrap_parameters.rb +14 -0
  79. data/spec/dummy/config/locales/doorkeeper.en.yml +5 -0
  80. data/spec/dummy/config/routes.rb +8 -0
  81. data/spec/dummy/config.ru +4 -0
  82. data/spec/dummy/db/migrate/20111122132257_create_users.rb +9 -0
  83. data/spec/dummy/db/migrate/20120312140401_add_password_to_users.rb +5 -0
  84. data/spec/dummy/db/migrate/20120524202412_create_doorkeeper_tables.rb +42 -0
  85. data/spec/dummy/db/schema.rb +62 -0
  86. data/spec/dummy/public/404.html +26 -0
  87. data/spec/dummy/public/422.html +26 -0
  88. data/spec/dummy/public/500.html +26 -0
  89. data/spec/dummy/public/favicon.ico +0 -0
  90. data/spec/dummy/script/rails +6 -0
  91. data/spec/factories/access_grant.rb +9 -0
  92. data/spec/factories/access_token.rb +7 -0
  93. data/spec/factories/application.rb +6 -0
  94. data/spec/generators/install_generator_spec.rb +35 -0
  95. data/spec/generators/templates/routes.rb +3 -0
  96. data/spec/generators/views_generator_spec.rb +27 -0
  97. data/spec/lib/config_spec.rb +87 -0
  98. data/spec/lib/models/expirable_spec.rb +49 -0
  99. data/spec/lib/models/revocable_spec.rb +31 -0
  100. data/spec/lib/models/scopes_spec.rb +32 -0
  101. data/spec/lib/oauth/access_token_request_spec.rb +240 -0
  102. data/spec/lib/oauth/authorization/uri_builder_spec.rb +37 -0
  103. data/spec/lib/oauth/authorization_request_spec.rb +286 -0
  104. data/spec/lib/oauth/client/credentials_spec.rb +47 -0
  105. data/spec/lib/oauth/client/methods_spec.rb +54 -0
  106. data/spec/lib/oauth/client_credentials/creator_spec.rb +47 -0
  107. data/spec/lib/oauth/client_credentials/issuer_spec.rb +57 -0
  108. data/spec/lib/oauth/client_credentials/response_spec.rb +58 -0
  109. data/spec/lib/oauth/client_credentials/validation_spec.rb +29 -0
  110. data/spec/lib/oauth/client_credentials_integration_spec.rb +27 -0
  111. data/spec/lib/oauth/client_credentials_request_spec.rb +60 -0
  112. data/spec/lib/oauth/client_spec.rb +42 -0
  113. data/spec/lib/oauth/error_response_spec.rb +40 -0
  114. data/spec/lib/oauth/error_spec.rb +19 -0
  115. data/spec/lib/oauth/helpers/scope_checker_spec.rb +74 -0
  116. data/spec/lib/oauth/helpers/unique_token_spec.rb +38 -0
  117. data/spec/lib/oauth/helpers/uri_checker_spec.rb +64 -0
  118. data/spec/lib/oauth/password_access_token_request_spec.rb +152 -0
  119. data/spec/lib/oauth/scopes_spec.rb +115 -0
  120. data/spec/models/doorkeeper/access_grant_spec.rb +36 -0
  121. data/spec/models/doorkeeper/access_token_spec.rb +113 -0
  122. data/spec/models/doorkeeper/application_spec.rb +129 -0
  123. data/spec/requests/applications/applications_request_spec.rb +92 -0
  124. data/spec/requests/applications/authorized_applications_spec.rb +30 -0
  125. data/spec/requests/endpoints/authorization_spec.rb +63 -0
  126. data/spec/requests/endpoints/token_spec.rb +29 -0
  127. data/spec/requests/flows/authorization_code_errors_spec.rb +111 -0
  128. data/spec/requests/flows/authorization_code_spec.rb +125 -0
  129. data/spec/requests/flows/client_credentials_spec.rb +56 -0
  130. data/spec/requests/flows/implicit_grant_errors_spec.rb +31 -0
  131. data/spec/requests/flows/implicit_grant_spec.rb +19 -0
  132. data/spec/requests/flows/password_spec.rb +52 -0
  133. data/spec/requests/flows/refresh_token_spec.rb +66 -0
  134. data/spec/requests/flows/skip_authorization_spec.rb +40 -0
  135. data/spec/requests/protected_resources/private_api_spec.rb +43 -0
  136. data/spec/spec_helper.rb +1 -0
  137. data/spec/spec_helper_integration.rb +28 -0
  138. data/spec/support/dependencies/database_cleaner.rb +16 -0
  139. data/spec/support/dependencies/factory_girl.rb +5 -0
  140. data/spec/support/helpers/access_token_request_helper.rb +11 -0
  141. data/spec/support/helpers/authorization_request_helper.rb +32 -0
  142. data/spec/support/helpers/config_helper.rb +9 -0
  143. data/spec/support/helpers/model_helper.rb +45 -0
  144. data/spec/support/helpers/request_spec_helper.rb +72 -0
  145. data/spec/support/helpers/url_helper.rb +51 -0
  146. data/spec/support/shared/controllers_shared_context.rb +60 -0
  147. data/spec/support/shared/models_shared_examples.rb +44 -0
  148. metadata +163 -57
  149. data/app/controllers/doorkeeper/application_controller.rbc +0 -675
  150. data/app/controllers/doorkeeper/applications_controller.rbc +0 -954
  151. data/app/controllers/doorkeeper/authorizations_controller.rbc +0 -659
  152. data/app/controllers/doorkeeper/authorized_applications_controller.rbc +0 -393
  153. data/app/controllers/doorkeeper/tokens_controller.rbc +0 -423
  154. data/app/helpers/doorkeeper/application_helper.rbc +0 -127
  155. data/app/models/access_grant.rb +0 -31
  156. data/app/models/access_grant.rbc +0 -821
  157. data/app/models/access_token.rb +0 -70
  158. data/app/models/access_token.rbc +0 -979
  159. data/app/models/application.rb +0 -45
  160. data/app/models/application.rbc +0 -753
  161. data/config/initializers/form_errors.rbc +0 -272
  162. data/config/routes.rbc +0 -366
  163. data/lib/doorkeeper/config/scope.rb +0 -11
  164. data/lib/doorkeeper/config/scopes.rb +0 -61
  165. data/lib/doorkeeper/config/scopes_builder.rb +0 -18
  166. data/lib/doorkeeper/config.rbc +0 -1385
  167. data/lib/doorkeeper/doorkeeper_for.rbc +0 -1029
  168. data/lib/doorkeeper/engine.rbc +0 -318
  169. data/lib/doorkeeper/oauth/access_token_request.rbc +0 -2042
  170. data/lib/doorkeeper/oauth/authorization_request.rbc +0 -2272
  171. data/lib/doorkeeper/oauth/random_string.rbc +0 -437
  172. data/lib/doorkeeper/validations.rbc +0 -774
  173. data/lib/doorkeeper/version.rbc +0 -130
  174. data/lib/doorkeeper.rbc +0 -407
  175. data/lib/generators/doorkeeper/install_generator.rbc +0 -453
  176. data/lib/tasks/doorkeeper_tasks.rake.compiled.rbc +0 -40
@@ -1,821 +0,0 @@
1
- !RBIX
2
- 9595534255132031488
3
- x
4
- M
5
- 1
6
- n
7
- n
8
- x
9
- 10
10
- __script__
11
- i
12
- 33
13
- 99
14
- 7
15
- 0
16
- 45
17
- 1
18
- 2
19
- 43
20
- 3
21
- 65
22
- 49
23
- 4
24
- 3
25
- 13
26
- 99
27
- 12
28
- 7
29
- 5
30
- 12
31
- 7
32
- 6
33
- 12
34
- 65
35
- 12
36
- 49
37
- 7
38
- 4
39
- 15
40
- 49
41
- 5
42
- 0
43
- 15
44
- 2
45
- 11
46
- I
47
- 6
48
- I
49
- 0
50
- I
51
- 0
52
- I
53
- 0
54
- n
55
- p
56
- 8
57
- x
58
- 11
59
- AccessGrant
60
- x
61
- 12
62
- ActiveRecord
63
- n
64
- x
65
- 4
66
- Base
67
- x
68
- 10
69
- open_class
70
- x
71
- 14
72
- __class_init__
73
- M
74
- 1
75
- n
76
- n
77
- x
78
- 11
79
- AccessGrant
80
- i
81
- 174
82
- 5
83
- 66
84
- 5
85
- 45
86
- 0
87
- 1
88
- 43
89
- 2
90
- 43
91
- 3
92
- 47
93
- 49
94
- 4
95
- 1
96
- 15
97
- 5
98
- 7
99
- 5
100
- 47
101
- 49
102
- 6
103
- 1
104
- 15
105
- 5
106
- 7
107
- 7
108
- 47
109
- 49
110
- 8
111
- 1
112
- 15
113
- 5
114
- 7
115
- 9
116
- 7
117
- 10
118
- 7
119
- 11
120
- 7
121
- 12
122
- 7
123
- 13
124
- 44
125
- 43
126
- 14
127
- 79
128
- 49
129
- 15
130
- 1
131
- 13
132
- 7
133
- 16
134
- 2
135
- 49
136
- 17
137
- 2
138
- 15
139
- 47
140
- 49
141
- 18
142
- 6
143
- 15
144
- 5
145
- 7
146
- 19
147
- 44
148
- 43
149
- 14
150
- 79
151
- 49
152
- 15
153
- 1
154
- 13
155
- 7
156
- 20
157
- 7
158
- 21
159
- 49
160
- 17
161
- 2
162
- 15
163
- 47
164
- 49
165
- 22
166
- 2
167
- 15
168
- 99
169
- 7
170
- 23
171
- 7
172
- 24
173
- 65
174
- 67
175
- 49
176
- 25
177
- 0
178
- 49
179
- 26
180
- 4
181
- 15
182
- 99
183
- 7
184
- 27
185
- 7
186
- 28
187
- 65
188
- 67
189
- 49
190
- 25
191
- 0
192
- 49
193
- 26
194
- 4
195
- 15
196
- 99
197
- 7
198
- 29
199
- 7
200
- 30
201
- 65
202
- 67
203
- 49
204
- 25
205
- 0
206
- 49
207
- 26
208
- 4
209
- 15
210
- 99
211
- 7
212
- 31
213
- 7
214
- 32
215
- 65
216
- 67
217
- 49
218
- 25
219
- 0
220
- 49
221
- 26
222
- 4
223
- 15
224
- 5
225
- 48
226
- 33
227
- 15
228
- 99
229
- 7
230
- 34
231
- 7
232
- 35
233
- 65
234
- 67
235
- 49
236
- 25
237
- 0
238
- 49
239
- 26
240
- 4
241
- 15
242
- 99
243
- 7
244
- 19
245
- 7
246
- 36
247
- 65
248
- 67
249
- 49
250
- 25
251
- 0
252
- 49
253
- 26
254
- 4
255
- 11
256
- I
257
- a
258
- I
259
- 0
260
- I
261
- 0
262
- I
263
- 0
264
- n
265
- p
266
- 37
267
- x
268
- 10
269
- Doorkeeper
270
- n
271
- x
272
- 5
273
- OAuth
274
- x
275
- 12
276
- RandomString
277
- x
278
- 7
279
- include
280
- x
281
- 19
282
- oauth_access_grants
283
- x
284
- 14
285
- set_table_name
286
- x
287
- 11
288
- application
289
- x
290
- 10
291
- belongs_to
292
- x
293
- 17
294
- resource_owner_id
295
- x
296
- 14
297
- application_id
298
- x
299
- 5
300
- token
301
- x
302
- 10
303
- expires_in
304
- x
305
- 12
306
- redirect_uri
307
- x
308
- 4
309
- Hash
310
- x
311
- 16
312
- new_from_literal
313
- x
314
- 8
315
- presence
316
- x
317
- 3
318
- []=
319
- x
320
- 9
321
- validates
322
- x
323
- 14
324
- generate_token
325
- x
326
- 2
327
- on
328
- x
329
- 6
330
- create
331
- x
332
- 17
333
- before_validation
334
- x
335
- 8
336
- expired?
337
- M
338
- 1
339
- n
340
- n
341
- x
342
- 8
343
- expired?
344
- i
345
- 22
346
- 5
347
- 48
348
- 0
349
- 49
350
- 1
351
- 0
352
- 13
353
- 9
354
- 21
355
- 15
356
- 45
357
- 2
358
- 3
359
- 49
360
- 4
361
- 0
362
- 5
363
- 48
364
- 5
365
- 85
366
- 6
367
- 11
368
- I
369
- 2
370
- I
371
- 0
372
- I
373
- 0
374
- I
375
- 0
376
- n
377
- p
378
- 7
379
- x
380
- 10
381
- expires_in
382
- x
383
- 8
384
- present?
385
- x
386
- 4
387
- Time
388
- n
389
- x
390
- 3
391
- now
392
- x
393
- 12
394
- expired_time
395
- x
396
- 1
397
- >
398
- p
399
- 5
400
- I
401
- -1
402
- I
403
- c
404
- I
405
- 0
406
- I
407
- d
408
- I
409
- 16
410
- x
411
- 66
412
- /Users/felipeelias/Applicake/doorkeeper/app/models/access_grant.rb
413
- p
414
- 0
415
- x
416
- 17
417
- method_visibility
418
- x
419
- 15
420
- add_defn_method
421
- x
422
- 11
423
- accessible?
424
- M
425
- 1
426
- n
427
- n
428
- x
429
- 11
430
- accessible?
431
- i
432
- 27
433
- 5
434
- 47
435
- 49
436
- 0
437
- 0
438
- 10
439
- 10
440
- 2
441
- 8
442
- 11
443
- 3
444
- 13
445
- 9
446
- 26
447
- 15
448
- 5
449
- 47
450
- 49
451
- 1
452
- 0
453
- 10
454
- 25
455
- 2
456
- 8
457
- 26
458
- 3
459
- 11
460
- I
461
- 2
462
- I
463
- 0
464
- I
465
- 0
466
- I
467
- 0
468
- n
469
- p
470
- 2
471
- x
472
- 8
473
- expired?
474
- x
475
- 8
476
- revoked?
477
- p
478
- 5
479
- I
480
- -1
481
- I
482
- 10
483
- I
484
- 0
485
- I
486
- 11
487
- I
488
- 1b
489
- x
490
- 66
491
- /Users/felipeelias/Applicake/doorkeeper/app/models/access_grant.rb
492
- p
493
- 0
494
- x
495
- 6
496
- revoke
497
- M
498
- 1
499
- n
500
- n
501
- x
502
- 6
503
- revoke
504
- i
505
- 14
506
- 5
507
- 7
508
- 0
509
- 45
510
- 1
511
- 2
512
- 49
513
- 3
514
- 0
515
- 47
516
- 49
517
- 4
518
- 2
519
- 11
520
- I
521
- 3
522
- I
523
- 0
524
- I
525
- 0
526
- I
527
- 0
528
- n
529
- p
530
- 5
531
- x
532
- 10
533
- revoked_at
534
- x
535
- 8
536
- DateTime
537
- n
538
- x
539
- 3
540
- now
541
- x
542
- 16
543
- update_attribute
544
- p
545
- 5
546
- I
547
- -1
548
- I
549
- 14
550
- I
551
- 0
552
- I
553
- 15
554
- I
555
- e
556
- x
557
- 66
558
- /Users/felipeelias/Applicake/doorkeeper/app/models/access_grant.rb
559
- p
560
- 0
561
- x
562
- 8
563
- revoked?
564
- M
565
- 1
566
- n
567
- n
568
- x
569
- 8
570
- revoked?
571
- i
572
- 7
573
- 5
574
- 48
575
- 0
576
- 49
577
- 1
578
- 0
579
- 11
580
- I
581
- 1
582
- I
583
- 0
584
- I
585
- 0
586
- I
587
- 0
588
- n
589
- p
590
- 2
591
- x
592
- 10
593
- revoked_at
594
- x
595
- 8
596
- present?
597
- p
598
- 5
599
- I
600
- -1
601
- I
602
- 18
603
- I
604
- 0
605
- I
606
- 19
607
- I
608
- 7
609
- x
610
- 66
611
- /Users/felipeelias/Applicake/doorkeeper/app/models/access_grant.rb
612
- p
613
- 0
614
- x
615
- 7
616
- private
617
- x
618
- 12
619
- expired_time
620
- M
621
- 1
622
- n
623
- n
624
- x
625
- 12
626
- expired_time
627
- i
628
- 13
629
- 5
630
- 49
631
- 0
632
- 0
633
- 5
634
- 48
635
- 1
636
- 49
637
- 2
638
- 0
639
- 81
640
- 3
641
- 11
642
- I
643
- 2
644
- I
645
- 0
646
- I
647
- 0
648
- I
649
- 0
650
- n
651
- p
652
- 4
653
- x
654
- 10
655
- created_at
656
- x
657
- 10
658
- expires_in
659
- x
660
- 7
661
- seconds
662
- x
663
- 1
664
- +
665
- p
666
- 5
667
- I
668
- -1
669
- I
670
- 1e
671
- I
672
- 0
673
- I
674
- 1f
675
- I
676
- d
677
- x
678
- 66
679
- /Users/felipeelias/Applicake/doorkeeper/app/models/access_grant.rb
680
- p
681
- 0
682
- M
683
- 1
684
- n
685
- n
686
- x
687
- 14
688
- generate_token
689
- i
690
- 17
691
- 5
692
- 5
693
- 7
694
- 0
695
- 47
696
- 49
697
- 1
698
- 1
699
- 13
700
- 18
701
- 2
702
- 47
703
- 49
704
- 2
705
- 1
706
- 15
707
- 11
708
- I
709
- 3
710
- I
711
- 0
712
- I
713
- 0
714
- I
715
- 0
716
- n
717
- p
718
- 3
719
- x
720
- 5
721
- token
722
- x
723
- 24
724
- unique_random_string_for
725
- x
726
- 6
727
- token=
728
- p
729
- 7
730
- I
731
- -1
732
- I
733
- 22
734
- I
735
- 0
736
- I
737
- 25
738
- I
739
- 1
740
- I
741
- 23
742
- I
743
- 11
744
- x
745
- 66
746
- /Users/felipeelias/Applicake/doorkeeper/app/models/access_grant.rb
747
- p
748
- 0
749
- p
750
- 25
751
- I
752
- 2
753
- I
754
- 2
755
- I
756
- f
757
- I
758
- 4
759
- I
760
- 17
761
- I
762
- 6
763
- I
764
- 1f
765
- I
766
- 8
767
- I
768
- 3e
769
- I
770
- a
771
- I
772
- 56
773
- I
774
- c
775
- I
776
- 64
777
- I
778
- 10
779
- I
780
- 72
781
- I
782
- 14
783
- I
784
- 80
785
- I
786
- 18
787
- I
788
- 8e
789
- I
790
- 1c
791
- I
792
- 92
793
- I
794
- 1e
795
- I
796
- a0
797
- I
798
- 22
799
- I
800
- ae
801
- x
802
- 66
803
- /Users/felipeelias/Applicake/doorkeeper/app/models/access_grant.rb
804
- p
805
- 0
806
- x
807
- 13
808
- attach_method
809
- p
810
- 3
811
- I
812
- 0
813
- I
814
- 1
815
- I
816
- 21
817
- x
818
- 66
819
- /Users/felipeelias/Applicake/doorkeeper/app/models/access_grant.rb
820
- p
821
- 0