cbac 0.5.4 → 0.6.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 (83) hide show
  1. data/Manifest +74 -65
  2. data/README.rdoc +51 -48
  3. data/Rakefile +39 -36
  4. data/cbac.gemspec +31 -31
  5. data/config/cbac/context_roles.rb +21 -0
  6. data/config/cbac/privileges.rb +50 -0
  7. data/context_roles.rb +21 -0
  8. data/init.rb +3 -11
  9. data/lib/cbac.rb +132 -114
  10. data/lib/cbac/cbac_pristine/pristine.rb +134 -134
  11. data/lib/cbac/cbac_pristine/pristine_file.rb +170 -170
  12. data/lib/cbac/cbac_pristine/pristine_permission.rb +193 -193
  13. data/lib/cbac/cbac_pristine/pristine_role.rb +41 -41
  14. data/lib/cbac/config.rb +9 -9
  15. data/lib/cbac/context_role.rb +27 -27
  16. data/lib/cbac/generic_role.rb +5 -5
  17. data/lib/cbac/known_permission.rb +14 -14
  18. data/lib/cbac/membership.rb +3 -3
  19. data/lib/cbac/permission.rb +5 -5
  20. data/lib/cbac/privilege.rb +117 -116
  21. data/lib/cbac/privilege_new_api.rb +56 -56
  22. data/lib/cbac/privilege_set.rb +29 -29
  23. data/lib/cbac/privilege_set_record.rb +6 -6
  24. data/lib/cbac/setup.rb +37 -30
  25. data/{generators → lib/generators}/cbac/USAGE +33 -33
  26. data/lib/generators/cbac/cbac_generator.rb +75 -0
  27. data/{generators/cbac/templates → lib/generators/cbac/copy_files}/config/cbac.pristine +2 -2
  28. data/lib/generators/cbac/copy_files/config/context_roles.rb +17 -0
  29. data/lib/generators/cbac/copy_files/config/privileges.rb +25 -0
  30. data/{generators/cbac/templates → lib/generators/cbac/copy_files}/controllers/generic_roles_controller.rb +30 -30
  31. data/{generators/cbac/templates → lib/generators/cbac/copy_files}/controllers/memberships_controller.rb +22 -22
  32. data/{generators/cbac/templates → lib/generators/cbac/copy_files}/controllers/permissions_controller.rb +61 -61
  33. data/{generators/cbac/templates → lib/generators/cbac/copy_files}/controllers/upgrade_controller.rb +23 -23
  34. data/{generators/cbac/templates → lib/generators/cbac/copy_files}/fixtures/cbac_generic_roles.yml +9 -9
  35. data/{generators/cbac/templates → lib/generators/cbac/copy_files}/fixtures/cbac_memberships.yml +8 -8
  36. data/{generators/cbac/templates → lib/generators/cbac/copy_files}/fixtures/cbac_permissions.yml +8 -8
  37. data/lib/generators/cbac/copy_files/initializers/cbac_config.rb +2 -0
  38. data/{generators/cbac/templates → lib/generators/cbac/copy_files}/migrate/create_cbac_from_scratch.rb +59 -59
  39. data/{generators/cbac/templates → lib/generators/cbac/copy_files}/migrate/create_cbac_upgrade_path.rb +31 -31
  40. data/{generators/cbac/templates → lib/generators/cbac/copy_files}/stylesheets/cbac.css +65 -65
  41. data/{generators/cbac/templates → lib/generators/cbac/copy_files}/tasks/cbac.rake +345 -345
  42. data/{generators/cbac/templates → lib/generators/cbac/copy_files}/views/generic_roles/index.html.erb +58 -58
  43. data/{generators/cbac/templates → lib/generators/cbac/copy_files}/views/layouts/cbac.html.erb +18 -18
  44. data/{generators/cbac/templates → lib/generators/cbac/copy_files}/views/memberships/_update.html.erb +11 -11
  45. data/{generators/cbac/templates → lib/generators/cbac/copy_files}/views/memberships/index.html.erb +23 -22
  46. data/{generators/cbac/templates → lib/generators/cbac/copy_files}/views/permissions/_update_context_role.html.erb +11 -11
  47. data/{generators/cbac/templates → lib/generators/cbac/copy_files}/views/permissions/_update_generic_role.html.erb +11 -11
  48. data/{generators/cbac/templates → lib/generators/cbac/copy_files}/views/permissions/index.html.erb +39 -39
  49. data/{generators/cbac/templates → lib/generators/cbac/copy_files}/views/upgrade/index.html.erb +31 -31
  50. data/nbproject/private/private.properties +3 -0
  51. data/nbproject/private/private.xml +4 -0
  52. data/nbproject/private/rake-d.txt +0 -0
  53. data/nbproject/project.properties +9 -0
  54. data/nbproject/project.xml +16 -0
  55. data/privileges.rb +50 -0
  56. data/rails/init.rb +1 -0
  57. data/spec/cbac_pristine_file_spec.rb +329 -329
  58. data/spec/cbac_pristine_permission_spec.rb +358 -358
  59. data/spec/cbac_pristine_role_spec.rb +85 -85
  60. data/spec/rcov.opts +1 -1
  61. data/spec/spec.opts +4 -4
  62. data/spec/spec_helper.rb +11 -11
  63. data/tasks/cbac.rake +345 -345
  64. data/test/db/test.sqlite3 +0 -0
  65. data/test/fixtures/cbac_generic_roles.yml +9 -9
  66. data/test/fixtures/cbac_memberships.yml +8 -8
  67. data/test/fixtures/cbac_permissions.yml +14 -14
  68. data/test/fixtures/cbac_privilege_set.yml +18 -18
  69. data/test/test_cbac_actions.rb +71 -70
  70. data/test/test_cbac_authorize_context_roles.rb +39 -40
  71. data/test/test_cbac_authorize_generic_roles.rb +36 -37
  72. data/test/test_cbac_context_role.rb +50 -51
  73. data/test/test_cbac_privilege.rb +151 -152
  74. data/test/test_cbac_privilege_set.rb +50 -51
  75. data/test/test_helper.rb +28 -0
  76. metadata +70 -38
  77. data/generators/cbac/cbac_generator.rb +0 -66
  78. data/generators/cbac/templates/config/context_roles.rb +0 -10
  79. data/generators/cbac/templates/config/privileges.rb +0 -30
  80. data/vendor/plugins/cbac/Manifest +0 -60
  81. data/vendor/plugins/cbac/cbac-0.5.3.gem +0 -0
  82. data/vendor/plugins/cbac/cbac.gemspec +0 -31
  83. data/vendor/plugins/cbac/pkg/cbac-0.5.3.gem +0 -0
@@ -1,66 +0,0 @@
1
- require 'rbconfig'
2
-
3
- class CbacGenerator < Rails::Generator::Base
4
- def initialize(runtime_args, runtime_options = {})
5
- super
6
- #puts runtime_args
7
- #raise "silently quiting"
8
- end
9
-
10
- def migration_exists?(name)
11
- not Dir.glob("#{RAILS_ROOT}/db/migrate/[0-9]*_*.rb").grep(/[0-9]+_#{name}.rb$/).empty?
12
- end
13
-
14
- def manifest
15
- record do |m|
16
- # developer files
17
- m.directory "config/cbac"
18
- m.file "config/privileges.rb", "config/cbac/privileges.rb", :collision => :skip
19
- m.file "config/context_roles.rb", "config/cbac/context_roles.rb", :collision => :skip
20
-
21
- # deployment file
22
- m.file "config/cbac.pristine", "config/cbac/cbac.pristine", :collision => :skip
23
-
24
- # administration pages
25
- m.directory "app/controllers/cbac"
26
- m.file "controllers/permissions_controller.rb", "app/controllers/cbac/permissions_controller.rb"
27
- m.file "controllers/generic_roles_controller.rb", "app/controllers/cbac/generic_roles_controller.rb"
28
- m.file "controllers/memberships_controller.rb", "app/controllers/cbac/memberships_controller.rb"
29
- m.file "controllers/upgrade_controller.rb", "app/controllers/cbac/upgrade_controller.rb"
30
- m.directory "app/views/layouts"
31
- m.file "views/layouts/cbac.html.erb", "app/views/layouts/cbac.html.erb"
32
- m.directory "app/views/cbac"
33
- m.directory "app/views/cbac/permissions"
34
- m.directory "app/views/cbac/generic_roles"
35
- m.directory "app/views/cbac/memberships"
36
- m.directory "app/views/cbac/upgrade"
37
- m.file "views/permissions/index.html.erb", "app/views/cbac/permissions/index.html.erb"
38
- m.file "views/permissions/_update_context_role.html.erb", "app/views/cbac/permissions/_update_context_role.html.erb"
39
- m.file "views/permissions/_update_generic_role.html.erb", "app/views/cbac/permissions/_update_generic_role.html.erb"
40
- m.file "views/generic_roles/index.html.erb", "app/views/cbac/generic_roles/index.html.erb"
41
- m.file "views/memberships/index.html.erb", "app/views/cbac/memberships/index.html.erb"
42
- m.file "views/memberships/_update.html.erb", "app/views/cbac/memberships/_update.html.erb"
43
- m.file "views/upgrade/index.html.erb", "app/views/cbac/upgrade/index.html.erb"
44
- m.directory "public/stylesheets"
45
- m.file "stylesheets/cbac.css", "public/stylesheets/cbac.css"
46
-
47
- # migrations
48
- puts "type of m: " + m.class.name
49
- if migration_exists?("create_cbac")
50
- # This is an upgrade from a previous version of CBAC
51
- m.migration_template "migrate/create_cbac_upgrade_path.rb", "db/migrate", {:migration_file_name => "create_cbac_upgrade_path"} unless migration_exists?("create_cbac_upgrade_path")
52
- else
53
- # This is the first install of CBAC into the current project
54
- m.migration_template "migrate/create_cbac_from_scratch.rb", "db/migrate", {:migration_file_name => "create_cbac_from_scratch"} unless migration_exists?("create_cbac_from_scratch")
55
- end
56
- # default fixtures
57
- m.file "fixtures/cbac_permissions.yml", "test/fixtures/cbac_permissions.yml"
58
- m.file "fixtures/cbac_generic_roles.yml", "test/fixtures/cbac_generic_roles.yml"
59
- m.file "fixtures/cbac_memberships.yml", "test/fixtures/cbac_memberships.yml"
60
-
61
- # Rake task
62
- m.directory "lib/tasks"
63
- m.file "tasks/cbac.rake", "lib/tasks/cbac.rake"
64
- end
65
- end
66
- end
@@ -1,10 +0,0 @@
1
- ### context_roles.rb
2
- #
3
- # Defines the context roles for the CBAC system
4
- #
5
- include Cbac
6
-
7
- # Defining context roles
8
- ContextRole.add :everybody, 'true'
9
- ContextRole.add :not_logged_in_user, 'current_user.to_i == 0'
10
- ContextRole.add :logged_in_user, 'current_user.to_i > 0'
@@ -1,30 +0,0 @@
1
- ### Privileges.rb
2
- #
3
- # Defines the privilegesets and privileges for the CBAC system
4
- #
5
- include Cbac
6
-
7
- # Defining privilegesets
8
- PrivilegeSet.add :cbac_administration, "Allows administration of CBAC modules"
9
-
10
- # Defining privileges on controller methods (REST resources)
11
- Privilege.resource :cbac_administration, "cbac/permissions/index"
12
- Privilege.resource :cbac_administration, "cbac/permissions/create", :post
13
- Privilege.resource :cbac_administration, "cbac/memberships/index"
14
- Privilege.resource :cbac_administration, "cbac/memberships/create", :post
15
- Privilege.resource :cbac_administration, "cbac/generic_roles/index"
16
- Privilege.resource :cbac_administration, "cbac/generic_roles/update", :post
17
- Privilege.resource :cbac_administration, "cbac/generic_roles/create", :post
18
- Privilege.resource :cbac_administration, "cbac/generic_roles/delete", :post
19
-
20
- # model attributes
21
- #Privilege.model_attribute :blog_update, :blog, :author, :write
22
- #privilege.model_attribute :blog_update, :blog, :author, :w
23
- #privilege.model_attribute :blog_update, :blog, :author, :rw
24
- # Models
25
- # Enforcing mode
26
- #Privilege.model :blog_read, :blog, :load
27
- #Privilege.model :blog_create, :blog, :save
28
- #Privilege.model :blog_update, :blog, :update
29
- #Privilege.model :blog_update, :blog, :delete
30
-
@@ -1,60 +0,0 @@
1
- Manifest
2
- README.rdoc
3
- Rakefile
4
- cbac.gemspec
5
- generators/cbac/USAGE
6
- generators/cbac/cbac_generator.rb
7
- generators/cbac/templates/config/cbac.pristine
8
- generators/cbac/templates/config/context_roles.rb
9
- generators/cbac/templates/config/privileges.rb
10
- generators/cbac/templates/controllers/generic_roles_controller.rb
11
- generators/cbac/templates/controllers/memberships_controller.rb
12
- generators/cbac/templates/controllers/permissions_controller.rb
13
- generators/cbac/templates/controllers/upgrade_controller.rb
14
- generators/cbac/templates/fixtures/cbac_generic_roles.yml
15
- generators/cbac/templates/fixtures/cbac_memberships.yml
16
- generators/cbac/templates/fixtures/cbac_permissions.yml
17
- generators/cbac/templates/migrate/create_cbac_from_scratch.rb
18
- generators/cbac/templates/migrate/create_cbac_upgrade_path.rb
19
- generators/cbac/templates/stylesheets/cbac.css
20
- generators/cbac/templates/tasks/cbac.rake
21
- generators/cbac/templates/views/generic_roles/index.html.erb
22
- generators/cbac/templates/views/layouts/cbac.html.erb
23
- generators/cbac/templates/views/memberships/_update.html.erb
24
- generators/cbac/templates/views/memberships/index.html.erb
25
- generators/cbac/templates/views/permissions/_update_context_role.html.erb
26
- generators/cbac/templates/views/permissions/_update_generic_role.html.erb
27
- generators/cbac/templates/views/permissions/index.html.erb
28
- generators/cbac/templates/views/upgrade/index.html.erb
29
- init.rb
30
- lib/cbac.rb
31
- lib/cbac/cbac_pristine/pristine.rb
32
- lib/cbac/cbac_pristine/pristine_file.rb
33
- lib/cbac/cbac_pristine/pristine_permission.rb
34
- lib/cbac/cbac_pristine/pristine_role.rb
35
- lib/cbac/config.rb
36
- lib/cbac/context_role.rb
37
- lib/cbac/generic_role.rb
38
- lib/cbac/known_permission.rb
39
- lib/cbac/membership.rb
40
- lib/cbac/permission.rb
41
- lib/cbac/privilege.rb
42
- lib/cbac/privilege_set.rb
43
- lib/cbac/privilege_set_record.rb
44
- lib/cbac/setup.rb
45
- spec/cbac_pristine_file_spec.rb
46
- spec/cbac_pristine_permission_spec.rb
47
- spec/cbac_pristine_role_spec.rb
48
- spec/rcov.opts
49
- spec/spec.opts
50
- spec/spec_helper.rb
51
- tasks/cbac.rake
52
- test/fixtures/cbac_generic_roles.yml
53
- test/fixtures/cbac_memberships.yml
54
- test/fixtures/cbac_permissions.yml
55
- test/fixtures/cbac_privilege_set.yml
56
- test/test_cbac_authorize_context_roles.rb
57
- test/test_cbac_authorize_generic_roles.rb
58
- test/test_cbac_context_role.rb
59
- test/test_cbac_privilege.rb
60
- test/test_cbac_privilege_set.rb
Binary file
@@ -1,31 +0,0 @@
1
- # -*- encoding: utf-8 -*-
2
-
3
- Gem::Specification.new do |s|
4
- s.name = %q{cbac}
5
- s.version = "0.5.3"
6
-
7
- s.required_rubygems_version = Gem::Requirement.new(">= 1.2") if s.respond_to? :required_rubygems_version=
8
- s.authors = ["Bert Meerman"]
9
- s.date = %q{2010-11-18}
10
- s.description = %q{Simple authorization system for Rails applications. Allows you to develop applications with a mixed role based authorization and a context based authorization model. Does not supply authentication.}
11
- s.email = %q{bertm@rubyforge.org}
12
- s.extra_rdoc_files = ["README.rdoc", "lib/cbac.rb", "lib/cbac/cbac_pristine/pristine.rb", "lib/cbac/cbac_pristine/pristine_file.rb", "lib/cbac/cbac_pristine/pristine_permission.rb", "lib/cbac/cbac_pristine/pristine_role.rb", "lib/cbac/config.rb", "lib/cbac/context_role.rb", "lib/cbac/generic_role.rb", "lib/cbac/known_permission.rb", "lib/cbac/membership.rb", "lib/cbac/permission.rb", "lib/cbac/privilege.rb", "lib/cbac/privilege_set.rb", "lib/cbac/privilege_set_record.rb", "lib/cbac/setup.rb", "tasks/cbac.rake"]
13
- s.files = ["Manifest", "README.rdoc", "Rakefile", "cbac.gemspec", "generators/cbac/USAGE", "generators/cbac/cbac_generator.rb", "generators/cbac/templates/config/cbac.pristine", "generators/cbac/templates/config/context_roles.rb", "generators/cbac/templates/config/privileges.rb", "generators/cbac/templates/controllers/generic_roles_controller.rb", "generators/cbac/templates/controllers/memberships_controller.rb", "generators/cbac/templates/controllers/permissions_controller.rb", "generators/cbac/templates/controllers/upgrade_controller.rb", "generators/cbac/templates/fixtures/cbac_generic_roles.yml", "generators/cbac/templates/fixtures/cbac_memberships.yml", "generators/cbac/templates/fixtures/cbac_permissions.yml", "generators/cbac/templates/migrate/create_cbac_from_scratch.rb", "generators/cbac/templates/migrate/create_cbac_upgrade_path.rb", "generators/cbac/templates/stylesheets/cbac.css", "generators/cbac/templates/tasks/cbac.rake", "generators/cbac/templates/views/generic_roles/index.html.erb", "generators/cbac/templates/views/layouts/cbac.html.erb", "generators/cbac/templates/views/memberships/_update.html.erb", "generators/cbac/templates/views/memberships/index.html.erb", "generators/cbac/templates/views/permissions/_update_context_role.html.erb", "generators/cbac/templates/views/permissions/_update_generic_role.html.erb", "generators/cbac/templates/views/permissions/index.html.erb", "generators/cbac/templates/views/upgrade/index.html.erb", "init.rb", "lib/cbac.rb", "lib/cbac/cbac_pristine/pristine.rb", "lib/cbac/cbac_pristine/pristine_file.rb", "lib/cbac/cbac_pristine/pristine_permission.rb", "lib/cbac/cbac_pristine/pristine_role.rb", "lib/cbac/config.rb", "lib/cbac/context_role.rb", "lib/cbac/generic_role.rb", "lib/cbac/known_permission.rb", "lib/cbac/membership.rb", "lib/cbac/permission.rb", "lib/cbac/privilege.rb", "lib/cbac/privilege_set.rb", "lib/cbac/privilege_set_record.rb", "lib/cbac/setup.rb", "spec/cbac_pristine_file_spec.rb", "spec/cbac_pristine_permission_spec.rb", "spec/cbac_pristine_role_spec.rb", "spec/rcov.opts", "spec/spec.opts", "spec/spec_helper.rb", "tasks/cbac.rake", "test/fixtures/cbac_generic_roles.yml", "test/fixtures/cbac_memberships.yml", "test/fixtures/cbac_permissions.yml", "test/fixtures/cbac_privilege_set.yml", "test/test_cbac_authorize_context_roles.rb", "test/test_cbac_authorize_generic_roles.rb", "test/test_cbac_context_role.rb", "test/test_cbac_privilege.rb", "test/test_cbac_privilege_set.rb"]
14
- s.homepage = %q{http://cbac.rubyforge.org}
15
- s.rdoc_options = ["--line-numbers", "--inline-source", "--title", "Cbac", "--main", "README.rdoc"]
16
- s.require_paths = ["lib"]
17
- s.rubyforge_project = %q{cbac}
18
- s.rubygems_version = %q{1.3.7}
19
- s.summary = %q{CBAC - Simple authorization system for Rails applications.}
20
- s.test_files = ["test/test_cbac_context_role.rb", "test/test_cbac_authorize_context_roles.rb", "test/test_cbac_privilege.rb", "test/test_cbac_authorize_generic_roles.rb", "test/test_cbac_privilege_set.rb"]
21
-
22
- if s.respond_to? :specification_version then
23
- current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
24
- s.specification_version = 3
25
-
26
- if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
27
- else
28
- end
29
- else
30
- end
31
- end
Binary file