cbac 0.5.4 → 0.6.0

Sign up to get free protection for your applications and to get access to all the features.
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