rbac 0.0.1

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 (58) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +9 -0
  3. data/CODE_OF_CONDUCT.md +49 -0
  4. data/Gemfile +4 -0
  5. data/LICENSE.txt +21 -0
  6. data/README.md +85 -0
  7. data/Rakefile +2 -0
  8. data/app/helpers/rbac/application_helper.rb +20 -0
  9. data/bin/console +14 -0
  10. data/bin/setup +8 -0
  11. data/config/routes.rb +7 -0
  12. data/images/user_form.png +0 -0
  13. data/lib/generators/rbac/create/create_generator.rb +33 -0
  14. data/lib/generators/rbac/create/templates/controllers/rbac/groups_controller.rb +81 -0
  15. data/lib/generators/rbac/create/templates/controllers/rbac/privileges_controller.rb +76 -0
  16. data/lib/generators/rbac/create/templates/controllers/rbac/roles_controller.rb +81 -0
  17. data/lib/generators/rbac/create/templates/models/rbac/group.rb +11 -0
  18. data/lib/generators/rbac/create/templates/models/rbac/group_privilege.rb +6 -0
  19. data/lib/generators/rbac/create/templates/models/rbac/group_role.rb +6 -0
  20. data/lib/generators/rbac/create/templates/models/rbac/privilege.rb +7 -0
  21. data/lib/generators/rbac/create/templates/models/rbac/role.rb +11 -0
  22. data/lib/generators/rbac/create/templates/models/rbac/role_user.rb +6 -0
  23. data/lib/generators/rbac/create/templates/views/rbac/groups/_form.html.erb +35 -0
  24. data/lib/generators/rbac/create/templates/views/rbac/groups/_privilege_fields.html.erb +27 -0
  25. data/lib/generators/rbac/create/templates/views/rbac/groups/edit.html.erb +6 -0
  26. data/lib/generators/rbac/create/templates/views/rbac/groups/index.html.erb +31 -0
  27. data/lib/generators/rbac/create/templates/views/rbac/groups/index.json.jbuilder +4 -0
  28. data/lib/generators/rbac/create/templates/views/rbac/groups/new.html.erb +6 -0
  29. data/lib/generators/rbac/create/templates/views/rbac/groups/show.html.erb +19 -0
  30. data/lib/generators/rbac/create/templates/views/rbac/groups/show.json.jbuilder +1 -0
  31. data/lib/generators/rbac/create/templates/views/rbac/privileges/_form.html.erb +39 -0
  32. data/lib/generators/rbac/create/templates/views/rbac/privileges/edit.html.erb +6 -0
  33. data/lib/generators/rbac/create/templates/views/rbac/privileges/index.html.erb +35 -0
  34. data/lib/generators/rbac/create/templates/views/rbac/privileges/index.json.jbuilder +4 -0
  35. data/lib/generators/rbac/create/templates/views/rbac/privileges/new.html.erb +6 -0
  36. data/lib/generators/rbac/create/templates/views/rbac/privileges/show.html.erb +29 -0
  37. data/lib/generators/rbac/create/templates/views/rbac/privileges/show.json.jbuilder +1 -0
  38. data/lib/generators/rbac/create/templates/views/rbac/roles/_form.html.erb +35 -0
  39. data/lib/generators/rbac/create/templates/views/rbac/roles/_group_fields.html.erb +29 -0
  40. data/lib/generators/rbac/create/templates/views/rbac/roles/edit.html.erb +6 -0
  41. data/lib/generators/rbac/create/templates/views/rbac/roles/index.html.erb +31 -0
  42. data/lib/generators/rbac/create/templates/views/rbac/roles/index.json.jbuilder +4 -0
  43. data/lib/generators/rbac/create/templates/views/rbac/roles/new.html.erb +6 -0
  44. data/lib/generators/rbac/create/templates/views/rbac/roles/show.html.erb +19 -0
  45. data/lib/generators/rbac/create/templates/views/rbac/roles/show.json.jbuilder +1 -0
  46. data/lib/generators/rbac/migration/migration_generator.rb +32 -0
  47. data/lib/generators/rbac/migration/templates/create_group_privileges.rb +8 -0
  48. data/lib/generators/rbac/migration/templates/create_group_roles.rb +8 -0
  49. data/lib/generators/rbac/migration/templates/create_groups.rb +11 -0
  50. data/lib/generators/rbac/migration/templates/create_privileges.rb +13 -0
  51. data/lib/generators/rbac/migration/templates/create_role_users.rb +8 -0
  52. data/lib/generators/rbac/migration/templates/create_roles.rb +11 -0
  53. data/lib/generators/rbac/migration/templates/create_users.rb +12 -0
  54. data/lib/rbac.rb +7 -0
  55. data/lib/rbac/engine.rb +4 -0
  56. data/lib/rbac/version.rb +3 -0
  57. data/rbac.gemspec +24 -0
  58. metadata +129 -0
@@ -0,0 +1,4 @@
1
+ json.array!(@roles) do |role|
2
+ json.extract! role, :id, :role_name, :role_description, :is_active
3
+ json.url role_url(role, format: :json)
4
+ end
@@ -0,0 +1,6 @@
1
+ <div>
2
+ <h3>New role</h3>
3
+ </div>
4
+ <div>
5
+ <%= render 'form' %>
6
+ </div>
@@ -0,0 +1,19 @@
1
+ <p id="notice"><%= notice %></p>
2
+
3
+ <p>
4
+ <strong>Role name:</strong>
5
+ <%= @role.role_name %>
6
+ </p>
7
+
8
+ <p>
9
+ <strong>Role description:</strong>
10
+ <%= @role.role_description %>
11
+ </p>
12
+
13
+ <p>
14
+ <strong>Is active:</strong>
15
+ <%= @role.is_active %>
16
+ </p>
17
+
18
+ <%= link_to 'Edit', edit_rbac_role_path(@role) %> |
19
+ <%= link_to 'Back', rbac_roles_path %>
@@ -0,0 +1 @@
1
+ json.extract! @role, :id, :role_name, :role_description, :is_active, :created_at, :updated_at
@@ -0,0 +1,32 @@
1
+ require 'rails/generators'
2
+ require 'rails/generators/migration'
3
+
4
+ module Rbac
5
+ module Generators
6
+ class MigrationGenerator < Rails::Generators::Base
7
+ include Rails::Generators::Migration
8
+
9
+ def self.source_root
10
+ source_root ||= File.join(File.dirname(__FILE__), 'templates')
11
+ end
12
+
13
+ def self.next_migration_number(dirname)
14
+ if ActiveRecord::Base.timestamped_migrations
15
+ Time.new.utc.strftime("%Y%m%d%H%M%S%6N")
16
+ else
17
+ "%.3d" % (current_migration_number(dirname) + 1)
18
+ end
19
+ end
20
+
21
+ def create_migration_file
22
+ migration_template 'create_users.rb', 'db/migrate/create_users.rb'
23
+ migration_template 'create_roles.rb', 'db/migrate/create_roles.rb'
24
+ migration_template 'create_role_users.rb', 'db/migrate/create_role_users.rb'
25
+ migration_template 'create_groups.rb', 'db/migrate/create_groups.rb'
26
+ migration_template 'create_group_roles.rb', 'db/migrate/create_group_roles.rb'
27
+ migration_template 'create_privileges.rb', 'db/migrate/create_privileges.rb'
28
+ migration_template 'create_group_privileges.rb', 'db/migrate/create_group_privileges.rb'
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,8 @@
1
+ class CreateGroupPrivileges < ActiveRecord::Migration
2
+ def change
3
+ create_table :group_privileges, :id => false do |t|
4
+ t.references :group
5
+ t.references :privilege
6
+ end
7
+ end
8
+ end
@@ -0,0 +1,8 @@
1
+ class CreateGroupRoles < ActiveRecord::Migration
2
+ def change
3
+ create_table :group_roles, :id => false do |t|
4
+ t.references :group
5
+ t.references :role
6
+ end
7
+ end
8
+ end
@@ -0,0 +1,11 @@
1
+ class CreateGroups < ActiveRecord::Migration
2
+ def change
3
+ create_table :groups do |t|
4
+ t.string :name
5
+ t.text :description
6
+ t.boolean :is_active
7
+
8
+ t.timestamps null: false
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,13 @@
1
+ class CreatePrivileges < ActiveRecord::Migration
2
+ def change
3
+ create_table :privileges do |t|
4
+ t.string :name
5
+ t.text :description
6
+ t.string :controller
7
+ t.string :action
8
+ t.boolean :is_active
9
+
10
+ t.timestamps null: false
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,8 @@
1
+ class CreateRoleUsers < ActiveRecord::Migration
2
+ def change
3
+ create_table :role_users, :id => false do |t|
4
+ t.references :role
5
+ t.references :user
6
+ end
7
+ end
8
+ end
@@ -0,0 +1,11 @@
1
+ class CreateRoles < ActiveRecord::Migration
2
+ def change
3
+ create_table :roles do |t|
4
+ t.string :role_name
5
+ t.text :role_description
6
+ t.boolean :is_active
7
+
8
+ t.timestamps null: false
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,12 @@
1
+ class CreateUsers < ActiveRecord::Migration
2
+ def change
3
+ create_table :users do |t|
4
+ t.string :user_name
5
+ t.string :email
6
+ t.string :password_digest
7
+ t.boolean :is_active
8
+
9
+ t.timestamps null: false
10
+ end
11
+ end
12
+ end
data/lib/rbac.rb ADDED
@@ -0,0 +1,7 @@
1
+ require "rbac/version"
2
+
3
+ module Rbac
4
+ end
5
+
6
+ # Require our engine
7
+ require "rbac/engine"
@@ -0,0 +1,4 @@
1
+ module Rbac
2
+ class Engine < Rails::Engine
3
+ end
4
+ end
@@ -0,0 +1,3 @@
1
+ module Rbac
2
+ VERSION = "0.0.1"
3
+ end
data/rbac.gemspec ADDED
@@ -0,0 +1,24 @@
1
+ # coding: utf-8
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'rbac/version'
5
+
6
+ Gem::Specification.new do |spec|
7
+ spec.name = "rbac"
8
+ spec.version = Rbac::VERSION
9
+ spec.authors = ["Sandip Karanjekar"]
10
+ spec.email = ["sandipkaranjekar@gmail.com"]
11
+
12
+ spec.summary = %q{User interface based role base access control(RBAC) system}
13
+ spec.description = %q{This gem help you to enable your application with RBAC. This have user interface where you can check which permission assign to role.}
14
+ spec.homepage = "https://github.com/sandipkaranjekar/rbac"
15
+ spec.license = "MIT"
16
+
17
+ spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
18
+ spec.bindir = "exe"
19
+ spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
20
+ spec.require_paths = ["lib"]
21
+
22
+ spec.add_development_dependency "bundler", "~> 1.12"
23
+ spec.add_development_dependency "rake", "~> 10.0"
24
+ end
metadata ADDED
@@ -0,0 +1,129 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: rbac
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Sandip Karanjekar
8
+ autorequire:
9
+ bindir: exe
10
+ cert_chain: []
11
+ date: 2016-12-03 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bundler
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.12'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '1.12'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '10.0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '10.0'
41
+ description: This gem help you to enable your application with RBAC. This have user
42
+ interface where you can check which permission assign to role.
43
+ email:
44
+ - sandipkaranjekar@gmail.com
45
+ executables: []
46
+ extensions: []
47
+ extra_rdoc_files: []
48
+ files:
49
+ - ".gitignore"
50
+ - CODE_OF_CONDUCT.md
51
+ - Gemfile
52
+ - LICENSE.txt
53
+ - README.md
54
+ - Rakefile
55
+ - app/helpers/rbac/application_helper.rb
56
+ - bin/console
57
+ - bin/setup
58
+ - config/routes.rb
59
+ - images/user_form.png
60
+ - lib/generators/rbac/create/create_generator.rb
61
+ - lib/generators/rbac/create/templates/controllers/rbac/groups_controller.rb
62
+ - lib/generators/rbac/create/templates/controllers/rbac/privileges_controller.rb
63
+ - lib/generators/rbac/create/templates/controllers/rbac/roles_controller.rb
64
+ - lib/generators/rbac/create/templates/models/rbac/group.rb
65
+ - lib/generators/rbac/create/templates/models/rbac/group_privilege.rb
66
+ - lib/generators/rbac/create/templates/models/rbac/group_role.rb
67
+ - lib/generators/rbac/create/templates/models/rbac/privilege.rb
68
+ - lib/generators/rbac/create/templates/models/rbac/role.rb
69
+ - lib/generators/rbac/create/templates/models/rbac/role_user.rb
70
+ - lib/generators/rbac/create/templates/views/rbac/groups/_form.html.erb
71
+ - lib/generators/rbac/create/templates/views/rbac/groups/_privilege_fields.html.erb
72
+ - lib/generators/rbac/create/templates/views/rbac/groups/edit.html.erb
73
+ - lib/generators/rbac/create/templates/views/rbac/groups/index.html.erb
74
+ - lib/generators/rbac/create/templates/views/rbac/groups/index.json.jbuilder
75
+ - lib/generators/rbac/create/templates/views/rbac/groups/new.html.erb
76
+ - lib/generators/rbac/create/templates/views/rbac/groups/show.html.erb
77
+ - lib/generators/rbac/create/templates/views/rbac/groups/show.json.jbuilder
78
+ - lib/generators/rbac/create/templates/views/rbac/privileges/_form.html.erb
79
+ - lib/generators/rbac/create/templates/views/rbac/privileges/edit.html.erb
80
+ - lib/generators/rbac/create/templates/views/rbac/privileges/index.html.erb
81
+ - lib/generators/rbac/create/templates/views/rbac/privileges/index.json.jbuilder
82
+ - lib/generators/rbac/create/templates/views/rbac/privileges/new.html.erb
83
+ - lib/generators/rbac/create/templates/views/rbac/privileges/show.html.erb
84
+ - lib/generators/rbac/create/templates/views/rbac/privileges/show.json.jbuilder
85
+ - lib/generators/rbac/create/templates/views/rbac/roles/_form.html.erb
86
+ - lib/generators/rbac/create/templates/views/rbac/roles/_group_fields.html.erb
87
+ - lib/generators/rbac/create/templates/views/rbac/roles/edit.html.erb
88
+ - lib/generators/rbac/create/templates/views/rbac/roles/index.html.erb
89
+ - lib/generators/rbac/create/templates/views/rbac/roles/index.json.jbuilder
90
+ - lib/generators/rbac/create/templates/views/rbac/roles/new.html.erb
91
+ - lib/generators/rbac/create/templates/views/rbac/roles/show.html.erb
92
+ - lib/generators/rbac/create/templates/views/rbac/roles/show.json.jbuilder
93
+ - lib/generators/rbac/migration/migration_generator.rb
94
+ - lib/generators/rbac/migration/templates/create_group_privileges.rb
95
+ - lib/generators/rbac/migration/templates/create_group_roles.rb
96
+ - lib/generators/rbac/migration/templates/create_groups.rb
97
+ - lib/generators/rbac/migration/templates/create_privileges.rb
98
+ - lib/generators/rbac/migration/templates/create_role_users.rb
99
+ - lib/generators/rbac/migration/templates/create_roles.rb
100
+ - lib/generators/rbac/migration/templates/create_users.rb
101
+ - lib/rbac.rb
102
+ - lib/rbac/engine.rb
103
+ - lib/rbac/version.rb
104
+ - rbac.gemspec
105
+ homepage: https://github.com/sandipkaranjekar/rbac
106
+ licenses:
107
+ - MIT
108
+ metadata: {}
109
+ post_install_message:
110
+ rdoc_options: []
111
+ require_paths:
112
+ - lib
113
+ required_ruby_version: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - ">="
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ required_rubygems_version: !ruby/object:Gem::Requirement
119
+ requirements:
120
+ - - ">="
121
+ - !ruby/object:Gem::Version
122
+ version: '0'
123
+ requirements: []
124
+ rubyforge_project:
125
+ rubygems_version: 2.4.8
126
+ signing_key:
127
+ specification_version: 4
128
+ summary: User interface based role base access control(RBAC) system
129
+ test_files: []