super_auth 0.1.4 → 0.2.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 (54) hide show
  1. checksums.yaml +4 -4
  2. data/.ruby-version +1 -0
  3. data/Gemfile +7 -10
  4. data/Gemfile.lock +53 -5
  5. data/LICENSE.txt +125 -21
  6. data/README.md +32 -1
  7. data/Rakefile +0 -2
  8. data/USAGE.md +619 -0
  9. data/VISUALIZATION.md +58 -0
  10. data/app/controllers/super_auth/graph_controller.rb +661 -0
  11. data/app/views/super_auth/graph/index.html.erb +1408 -0
  12. data/config/routes.rb +73 -0
  13. data/db/migrate/1_users.rb +7 -4
  14. data/db/migrate/2_groups.rb +14 -3
  15. data/db/migrate/3_permissions.rb +6 -2
  16. data/db/migrate/4_roles.rb +14 -3
  17. data/db/migrate/5_resources.rb +7 -4
  18. data/db/migrate/6_edge.rb +6 -4
  19. data/db/migrate/7_authorization.rb +41 -0
  20. data/db/migrate/8_add_indexes_to_edges.rb +17 -0
  21. data/db/migrate_activerecord/20250101000001_create_super_auth_users.rb +10 -0
  22. data/db/migrate_activerecord/20250101000002_create_super_auth_groups.rb +11 -0
  23. data/db/migrate_activerecord/20250101000003_create_super_auth_permissions.rb +8 -0
  24. data/db/migrate_activerecord/20250101000004_create_super_auth_roles.rb +11 -0
  25. data/db/migrate_activerecord/20250101000005_create_super_auth_resources.rb +10 -0
  26. data/db/migrate_activerecord/20250101000006_create_super_auth_edges.rb +12 -0
  27. data/db/migrate_activerecord/20250101000007_create_super_auth_authorizations.rb +41 -0
  28. data/db/seeds/sample_data.rb +193 -0
  29. data/lib/basic_loader.rb +10 -2
  30. data/lib/generators/super_auth/install/install_generator.rb +19 -0
  31. data/lib/generators/super_auth/install/templates/README +29 -0
  32. data/lib/generators/super_auth/install/templates/super_auth.rb +7 -0
  33. data/lib/super_auth/active_record/authorization.rb +3 -0
  34. data/lib/super_auth/active_record/by_current_user.rb +39 -0
  35. data/lib/super_auth/active_record/edge.rb +48 -0
  36. data/lib/super_auth/active_record/group.rb +10 -0
  37. data/lib/super_auth/active_record/permission.rb +7 -0
  38. data/lib/super_auth/active_record/resource.rb +4 -0
  39. data/lib/super_auth/active_record/role.rb +10 -0
  40. data/lib/super_auth/active_record/user.rb +14 -0
  41. data/lib/super_auth/active_record.rb +20 -0
  42. data/lib/super_auth/authorization.rb +2 -0
  43. data/lib/super_auth/edge.rb +205 -92
  44. data/lib/super_auth/group.rb +1 -0
  45. data/lib/super_auth/nestable.rb +17 -10
  46. data/lib/super_auth/permission.rb +1 -1
  47. data/lib/super_auth/railtie.rb +30 -0
  48. data/lib/super_auth/role.rb +2 -1
  49. data/lib/super_auth/user.rb +14 -14
  50. data/lib/super_auth/version.rb +1 -3
  51. data/lib/super_auth.rb +103 -29
  52. data/lib/tasks/super_auth_tasks.rake +9 -8
  53. data/visualization.html +747 -0
  54. metadata +33 -6
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: super_auth
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.4
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jonathan Frias
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2024-12-02 00:00:00.000000000 Z
10
+ date: 1980-01-02 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: sequel
@@ -46,20 +45,49 @@ extensions: []
46
45
  extra_rdoc_files: []
47
46
  files:
48
47
  - ".rspec"
48
+ - ".ruby-version"
49
49
  - CHANGELOG.md
50
50
  - Gemfile
51
51
  - Gemfile.lock
52
52
  - LICENSE.txt
53
53
  - README.md
54
54
  - Rakefile
55
+ - USAGE.md
56
+ - VISUALIZATION.md
57
+ - app/controllers/super_auth/graph_controller.rb
58
+ - app/views/super_auth/graph/index.html.erb
59
+ - config/routes.rb
55
60
  - db/migrate/1_users.rb
56
61
  - db/migrate/2_groups.rb
57
62
  - db/migrate/3_permissions.rb
58
63
  - db/migrate/4_roles.rb
59
64
  - db/migrate/5_resources.rb
60
65
  - db/migrate/6_edge.rb
66
+ - db/migrate/7_authorization.rb
67
+ - db/migrate/8_add_indexes_to_edges.rb
68
+ - db/migrate_activerecord/20250101000001_create_super_auth_users.rb
69
+ - db/migrate_activerecord/20250101000002_create_super_auth_groups.rb
70
+ - db/migrate_activerecord/20250101000003_create_super_auth_permissions.rb
71
+ - db/migrate_activerecord/20250101000004_create_super_auth_roles.rb
72
+ - db/migrate_activerecord/20250101000005_create_super_auth_resources.rb
73
+ - db/migrate_activerecord/20250101000006_create_super_auth_edges.rb
74
+ - db/migrate_activerecord/20250101000007_create_super_auth_authorizations.rb
75
+ - db/seeds/sample_data.rb
61
76
  - lib/basic_loader.rb
77
+ - lib/generators/super_auth/install/install_generator.rb
78
+ - lib/generators/super_auth/install/templates/README
79
+ - lib/generators/super_auth/install/templates/super_auth.rb
62
80
  - lib/super_auth.rb
81
+ - lib/super_auth/active_record.rb
82
+ - lib/super_auth/active_record/authorization.rb
83
+ - lib/super_auth/active_record/by_current_user.rb
84
+ - lib/super_auth/active_record/edge.rb
85
+ - lib/super_auth/active_record/group.rb
86
+ - lib/super_auth/active_record/permission.rb
87
+ - lib/super_auth/active_record/resource.rb
88
+ - lib/super_auth/active_record/role.rb
89
+ - lib/super_auth/active_record/user.rb
90
+ - lib/super_auth/authorization.rb
63
91
  - lib/super_auth/edge.rb
64
92
  - lib/super_auth/group.rb
65
93
  - lib/super_auth/nestable.rb
@@ -70,6 +98,7 @@ files:
70
98
  - lib/super_auth/user.rb
71
99
  - lib/super_auth/version.rb
72
100
  - lib/tasks/super_auth_tasks.rake
101
+ - visualization.html
73
102
  homepage: https://github.com/JonathanFrias/super_auth
74
103
  licenses:
75
104
  - MIT
@@ -77,7 +106,6 @@ metadata:
77
106
  homepage_uri: https://github.com/JonathanFrias/super_auth
78
107
  source_code_uri: https://github.com/JonathanFrias/super_auth
79
108
  changelog_uri: https://github.com/JonathanFrias/super_auth/blob/main/CHANGELOG.md
80
- post_install_message:
81
109
  rdoc_options: []
82
110
  require_paths:
83
111
  - lib
@@ -92,8 +120,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
92
120
  - !ruby/object:Gem::Version
93
121
  version: '0'
94
122
  requirements: []
95
- rubygems_version: 3.4.19
96
- signing_key:
123
+ rubygems_version: 4.0.3
97
124
  specification_version: 4
98
125
  summary: Make Unauthenticated State Unrepresentable
99
126
  test_files: []