granity 0.1.0 → 0.1.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.
metadata CHANGED
@@ -1,121 +1,114 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: granity
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yatish Mehta
8
8
  bindir: bin
9
9
  cert_chain: []
10
- date: 2025-03-16 00:00:00.000000000 Z
10
+ date: 2025-03-18 00:00:00.000000000 Z
11
11
  dependencies:
12
12
  - !ruby/object:Gem::Dependency
13
13
  name: rails
14
14
  requirement: !ruby/object:Gem::Requirement
15
15
  requirements:
16
- - - "~>"
17
- - !ruby/object:Gem::Version
18
- version: '8.0'
19
16
  - - ">="
20
17
  - !ruby/object:Gem::Version
21
- version: 8.0.2
18
+ version: '7.1'
22
19
  type: :runtime
23
20
  prerelease: false
24
21
  version_requirements: !ruby/object:Gem::Requirement
25
22
  requirements:
26
- - - "~>"
27
- - !ruby/object:Gem::Version
28
- version: '8.0'
29
23
  - - ">="
30
24
  - !ruby/object:Gem::Version
31
- version: 8.0.2
25
+ version: '7.1'
32
26
  - !ruby/object:Gem::Dependency
33
- name: puma
27
+ name: activerecord
34
28
  requirement: !ruby/object:Gem::Requirement
35
29
  requirements:
36
- - - "~>"
30
+ - - ">="
37
31
  - !ruby/object:Gem::Version
38
- version: '6.4'
39
- type: :development
32
+ version: '7.1'
33
+ type: :runtime
40
34
  prerelease: false
41
35
  version_requirements: !ruby/object:Gem::Requirement
42
36
  requirements:
43
- - - "~>"
37
+ - - ">="
44
38
  - !ruby/object:Gem::Version
45
- version: '6.4'
39
+ version: '7.1'
46
40
  - !ruby/object:Gem::Dependency
47
41
  name: sqlite3
48
42
  requirement: !ruby/object:Gem::Requirement
49
43
  requirements:
50
44
  - - "~>"
51
45
  - !ruby/object:Gem::Version
52
- version: '1.6'
46
+ version: '1.4'
53
47
  type: :development
54
48
  prerelease: false
55
49
  version_requirements: !ruby/object:Gem::Requirement
56
50
  requirements:
57
51
  - - "~>"
58
52
  - !ruby/object:Gem::Version
59
- version: '1.6'
53
+ version: '1.4'
60
54
  - !ruby/object:Gem::Dependency
61
- name: propshaft
55
+ name: rspec-rails
62
56
  requirement: !ruby/object:Gem::Requirement
63
57
  requirements:
64
58
  - - "~>"
65
59
  - !ruby/object:Gem::Version
66
- version: '0.8'
60
+ version: '6.0'
67
61
  type: :development
68
62
  prerelease: false
69
63
  version_requirements: !ruby/object:Gem::Requirement
70
64
  requirements:
71
65
  - - "~>"
72
66
  - !ruby/object:Gem::Version
73
- version: '0.8'
67
+ version: '6.0'
74
68
  - !ruby/object:Gem::Dependency
75
- name: rubocop-rails-omakase
69
+ name: factory_bot_rails
76
70
  requirement: !ruby/object:Gem::Requirement
77
71
  requirements:
78
72
  - - "~>"
79
73
  - !ruby/object:Gem::Version
80
- version: '1.0'
74
+ version: '6.2'
81
75
  type: :development
82
76
  prerelease: false
83
77
  version_requirements: !ruby/object:Gem::Requirement
84
78
  requirements:
85
79
  - - "~>"
86
80
  - !ruby/object:Gem::Version
87
- version: '1.0'
81
+ version: '6.2'
88
82
  - !ruby/object:Gem::Dependency
89
- name: rspec
83
+ name: database_cleaner-active_record
90
84
  requirement: !ruby/object:Gem::Requirement
91
85
  requirements:
92
86
  - - "~>"
93
87
  - !ruby/object:Gem::Version
94
- version: '3.13'
88
+ version: '2.0'
95
89
  type: :development
96
90
  prerelease: false
97
91
  version_requirements: !ruby/object:Gem::Requirement
98
92
  requirements:
99
93
  - - "~>"
100
94
  - !ruby/object:Gem::Version
101
- version: '3.13'
95
+ version: '2.0'
102
96
  - !ruby/object:Gem::Dependency
103
- name: rspec-rails
97
+ name: standard
104
98
  requirement: !ruby/object:Gem::Requirement
105
99
  requirements:
106
100
  - - "~>"
107
101
  - !ruby/object:Gem::Version
108
- version: '7.1'
102
+ version: '1.3'
109
103
  type: :development
110
104
  prerelease: false
111
105
  version_requirements: !ruby/object:Gem::Requirement
112
106
  requirements:
113
107
  - - "~>"
114
108
  - !ruby/object:Gem::Version
115
- version: '7.1'
116
- description: Granity is a Ruby gem that provides fine-grained authorization capabilities
117
- for Ruby on Rails applications, allowing developers to implement detailed access
118
- control policies.
109
+ version: '1.3'
110
+ description: Granity is a flexible, caching-friendly authorization engine that provides
111
+ fine-grained access control for Ruby on Rails applications
119
112
  email:
120
113
  - yatish27@users.noreply.github.com
121
114
  executables: []
@@ -125,16 +118,22 @@ files:
125
118
  - MIT-LICENSE
126
119
  - README.md
127
120
  - Rakefile
128
- - app/assets/stylesheets/granity/application.css
129
- - app/controllers/granity/application_controller.rb
130
- - app/helpers/granity/application_helper.rb
131
- - app/jobs/granity/application_job.rb
132
- - app/mailers/granity/application_mailer.rb
133
- - app/models/granity/application_record.rb
134
- - app/views/layouts/granity/application.html.erb
121
+ - app/models/granity/relation_tuple.rb
135
122
  - config/routes.rb
123
+ - db/migrate/20250317000000_create_granity_relation_tuples.rb
124
+ - lib/generators/granity/install/install_generator.rb
136
125
  - lib/granity.rb
126
+ - lib/granity/authorization_engine.rb
127
+ - lib/granity/configuration.rb
128
+ - lib/granity/dependency_analyzer.rb
137
129
  - lib/granity/engine.rb
130
+ - lib/granity/in_memory_cache.rb
131
+ - lib/granity/permission.rb
132
+ - lib/granity/permission_evaluator.rb
133
+ - lib/granity/relation.rb
134
+ - lib/granity/resource_type.rb
135
+ - lib/granity/rules.rb
136
+ - lib/granity/schema.rb
138
137
  - lib/granity/version.rb
139
138
  - lib/tasks/granity_tasks.rake
140
139
  homepage: https://github.com/yatish27/granity
@@ -142,7 +141,6 @@ licenses:
142
141
  - MIT
143
142
  metadata:
144
143
  homepage_uri: https://github.com/yatish27/granity
145
- source_code_uri: https://github.com/yatish27/granity
146
144
  documentation_uri: https://github.com/yatish27/granity/blob/main/README.md
147
145
  changelog_uri: https://github.com/yatish27/granity/blob/main/CHANGELOG.md
148
146
  rdoc_options: []
@@ -152,7 +150,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
152
150
  requirements:
153
151
  - - ">="
154
152
  - !ruby/object:Gem::Version
155
- version: 3.0.0
153
+ version: '3.1'
156
154
  required_rubygems_version: !ruby/object:Gem::Requirement
157
155
  requirements:
158
156
  - - ">="
@@ -161,5 +159,5 @@ required_rubygems_version: !ruby/object:Gem::Requirement
161
159
  requirements: []
162
160
  rubygems_version: 3.6.5
163
161
  specification_version: 4
164
- summary: Fine-grained authorization for Ruby on Rails applications
162
+ summary: Fine-grained authorization for Ruby on Rails
165
163
  test_files: []
@@ -1,15 +0,0 @@
1
- /*
2
- * This is a manifest file that'll be compiled into application.css, which will include all the files
3
- * listed below.
4
- *
5
- * Any CSS and SCSS file within this directory, lib/assets/stylesheets, vendor/assets/stylesheets,
6
- * or any plugin's vendor/assets/stylesheets directory can be referenced here using a relative path.
7
- *
8
- * You're free to add application-wide styles to this file and they'll appear at the bottom of the
9
- * compiled file so the styles you add here take precedence over styles defined in any other CSS/SCSS
10
- * files in this directory. Styles in this file should be added after the last require_* statement.
11
- * It is generally better to create a new file per style scope.
12
- *
13
- *= require_tree .
14
- *= require_self
15
- */
@@ -1,4 +0,0 @@
1
- module Granity
2
- class ApplicationController < ActionController::Base
3
- end
4
- end
@@ -1,4 +0,0 @@
1
- module Granity
2
- module ApplicationHelper
3
- end
4
- end
@@ -1,4 +0,0 @@
1
- module Granity
2
- class ApplicationJob < ActiveJob::Base
3
- end
4
- end
@@ -1,6 +0,0 @@
1
- module Granity
2
- class ApplicationMailer < ActionMailer::Base
3
- default from: "from@example.com"
4
- layout "mailer"
5
- end
6
- end
@@ -1,5 +0,0 @@
1
- module Granity
2
- class ApplicationRecord < ActiveRecord::Base
3
- self.abstract_class = true
4
- end
5
- end
@@ -1,17 +0,0 @@
1
- <!DOCTYPE html>
2
- <html>
3
- <head>
4
- <title>Granity</title>
5
- <%= csrf_meta_tags %>
6
- <%= csp_meta_tag %>
7
-
8
- <%= yield :head %>
9
-
10
- <%= stylesheet_link_tag "granity/application", media: "all" %>
11
- </head>
12
- <body>
13
-
14
- <%= yield %>
15
-
16
- </body>
17
- </html>