acl9 0.12.0 → 2.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.
Files changed (141) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +21 -0
  3. data/.ruby-version +1 -0
  4. data/.travis.yml +22 -0
  5. data/Appraisals +11 -0
  6. data/CHANGELOG.md +114 -0
  7. data/CONTRIBUTING.md +62 -0
  8. data/Gemfile +9 -0
  9. data/Gemfile.lock +141 -0
  10. data/LICENSE +9 -0
  11. data/README.md +308 -0
  12. data/Rakefile +9 -27
  13. data/acl9.gemspec +29 -0
  14. data/bin/appraisal +16 -0
  15. data/bin/bundler +16 -0
  16. data/bin/cc-tddium-post-worker +16 -0
  17. data/bin/erubis +16 -0
  18. data/bin/rackup +16 -0
  19. data/bin/rails +16 -0
  20. data/bin/rake +16 -0
  21. data/bin/sprockets +16 -0
  22. data/bin/tapout +16 -0
  23. data/bin/thor +16 -0
  24. data/bin/tilt +16 -0
  25. data/bin/yard +16 -0
  26. data/bin/yardoc +16 -0
  27. data/bin/yri +16 -0
  28. data/gemfiles/rails_4.0.gemfile +10 -0
  29. data/gemfiles/rails_4.1.gemfile +10 -0
  30. data/gemfiles/rails_4.2.gemfile +10 -0
  31. data/lib/acl9/controller_extensions/dsl_base.rb +36 -55
  32. data/lib/acl9/controller_extensions/generators.rb +1 -1
  33. data/lib/acl9/controller_extensions.rb +1 -1
  34. data/lib/acl9/helpers.rb +12 -5
  35. data/lib/acl9/model_extensions/for_object.rb +20 -5
  36. data/lib/acl9/model_extensions/for_subject.rb +48 -21
  37. data/lib/acl9/model_extensions.rb +22 -25
  38. data/lib/acl9/prepositions.rb +18 -0
  39. data/lib/acl9/version.rb +3 -0
  40. data/lib/acl9.rb +36 -10
  41. data/lib/generators/acl9/setup/USAGE +35 -0
  42. data/lib/generators/acl9/setup/setup_generator.rb +115 -0
  43. data/lib/generators/acl9/setup/templates/create_role_tables.rb +22 -0
  44. data/lib/generators/acl9/setup/templates/role.rb +3 -0
  45. data/test/config_test.rb +55 -0
  46. data/test/controller_extensions/actions_test.rb +199 -0
  47. data/test/controller_extensions/anon_test.rb +39 -0
  48. data/test/controller_extensions/base.rb +96 -0
  49. data/test/controller_extensions/basics_test.rb +44 -0
  50. data/test/controller_extensions/conditions_test.rb +48 -0
  51. data/test/controller_extensions/method_test.rb +70 -0
  52. data/test/controller_extensions/multi_match_test.rb +142 -0
  53. data/test/controller_extensions/multiple_role_arguments_test.rb +135 -0
  54. data/test/controller_extensions/prepositions_test.rb +108 -0
  55. data/test/controller_extensions/pseudo_role_test.rb +26 -0
  56. data/test/controller_extensions/role_test.rb +75 -0
  57. data/test/controllers/acl_action_override_test.rb +24 -0
  58. data/test/controllers/acl_arguments_test.rb +5 -0
  59. data/test/controllers/acl_block_test.rb +5 -0
  60. data/test/controllers/acl_boolean_method_test.rb +5 -0
  61. data/test/controllers/acl_helper_method_test.rb +26 -0
  62. data/test/controllers/acl_ivars_test.rb +15 -0
  63. data/test/controllers/acl_method2_test.rb +6 -0
  64. data/test/controllers/acl_method_test.rb +6 -0
  65. data/test/controllers/acl_object_hash_test.rb +18 -0
  66. data/test/controllers/acl_query_method_named_test.rb +9 -0
  67. data/test/controllers/acl_query_method_test.rb +9 -0
  68. data/test/controllers/acl_query_method_with_lambda_test.rb +9 -0
  69. data/test/controllers/acl_query_mixin.rb +51 -0
  70. data/test/controllers/acl_subject_method_test.rb +15 -0
  71. data/test/controllers/arguments_checking_test.rb +43 -0
  72. data/test/dummy/app/controllers/acl_action_override.rb +15 -0
  73. data/test/dummy/app/controllers/acl_arguments.rb +10 -0
  74. data/test/dummy/app/controllers/acl_block.rb +6 -0
  75. data/test/dummy/app/controllers/acl_boolean_method.rb +23 -0
  76. data/test/dummy/app/controllers/acl_helper_method.rb +11 -0
  77. data/test/dummy/app/controllers/acl_ivars.rb +17 -0
  78. data/test/dummy/app/controllers/acl_method.rb +6 -0
  79. data/test/dummy/app/controllers/acl_method2.rb +6 -0
  80. data/test/dummy/app/controllers/acl_objects_hash.rb +10 -0
  81. data/test/dummy/app/controllers/acl_query_method.rb +9 -0
  82. data/test/dummy/app/controllers/acl_query_method_named.rb +13 -0
  83. data/test/dummy/app/controllers/acl_query_method_with_lambda.rb +9 -0
  84. data/test/dummy/app/controllers/acl_subject_method.rb +16 -0
  85. data/test/dummy/app/controllers/application_controller.rb +7 -0
  86. data/test/dummy/app/controllers/empty_controller.rb +5 -0
  87. data/test/dummy/app/helpers/application_helper.rb +2 -0
  88. data/test/dummy/app/helpers/some_helper.rb +8 -0
  89. data/test/dummy/app/models/.keep +0 -0
  90. data/test/dummy/app/models/access.rb +3 -0
  91. data/test/dummy/app/models/account.rb +3 -0
  92. data/test/dummy/app/models/bar.rb +3 -0
  93. data/test/dummy/app/models/concerns/.keep +0 -0
  94. data/test/dummy/app/models/foo.rb +3 -0
  95. data/test/dummy/app/models/foo_bar.rb +3 -0
  96. data/test/dummy/app/models/other/foo.rb +5 -0
  97. data/test/dummy/app/models/other/role.rb +5 -0
  98. data/test/dummy/app/models/other/user.rb +5 -0
  99. data/test/dummy/app/models/role.rb +3 -0
  100. data/test/dummy/app/models/user.rb +3 -0
  101. data/test/dummy/app/models/uuid.rb +4 -0
  102. data/test/dummy/config/application.rb +23 -0
  103. data/test/dummy/config/boot.rb +4 -0
  104. data/test/dummy/config/database.yml +25 -0
  105. data/test/dummy/config/environment.rb +5 -0
  106. data/test/dummy/config/environments/development.rb +37 -0
  107. data/test/dummy/config/environments/production.rb +78 -0
  108. data/test/dummy/config/environments/test.rb +40 -0
  109. data/test/dummy/config/initializers/assets.rb +8 -0
  110. data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
  111. data/test/dummy/config/initializers/cookies_serializer.rb +3 -0
  112. data/test/dummy/config/initializers/filter_parameter_logging.rb +4 -0
  113. data/test/dummy/config/initializers/inflections.rb +16 -0
  114. data/test/dummy/config/initializers/mime_types.rb +4 -0
  115. data/test/dummy/config/initializers/secrets.rb +1 -0
  116. data/test/dummy/config/initializers/session_store.rb +3 -0
  117. data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
  118. data/test/dummy/config/locales/en.yml +23 -0
  119. data/test/dummy/config/routes.rb +3 -0
  120. data/test/dummy/config.ru +4 -0
  121. data/test/dummy/db/migrate/20141117132218_create_tables.rb +99 -0
  122. data/test/helpers/helper_test.rb +89 -0
  123. data/test/models/roles_test.rb +357 -0
  124. data/test/models/roles_with_custom_association_names_test.rb +28 -0
  125. data/test/models/roles_with_custom_class_names_test.rb +28 -0
  126. data/test/models/system_roles_test.rb +22 -0
  127. data/test/models/users_roles_and_subjects_with_namespaced_class_names_test.rb +30 -0
  128. data/test/test_helper.rb +80 -20
  129. data/test/version_test.rb +7 -0
  130. metadata +290 -71
  131. data/CHANGELOG.textile +0 -46
  132. data/README.textile +0 -903
  133. data/VERSION.yml +0 -5
  134. data/lib/acl9/config.rb +0 -11
  135. data/test/access_control_test.rb +0 -338
  136. data/test/dsl_base_test.rb +0 -795
  137. data/test/helpers_test.rb +0 -134
  138. data/test/roles_test.rb +0 -355
  139. data/test/support/controllers.rb +0 -207
  140. data/test/support/models.rb +0 -59
  141. data/test/support/schema.rb +0 -92
@@ -1,59 +0,0 @@
1
- class Role < ActiveRecord::Base
2
- acts_as_authorization_role
3
- end
4
-
5
- class User < ActiveRecord::Base
6
- acts_as_authorization_subject
7
- end
8
-
9
- class Foo < ActiveRecord::Base
10
- acts_as_authorization_object
11
- end
12
-
13
- class Uuid < ActiveRecord::Base
14
- set_primary_key "uuid"
15
- acts_as_authorization_object
16
- end
17
-
18
- class Bar < ActiveRecord::Base
19
- acts_as_authorization_object
20
- end
21
-
22
- class AnotherSubject < ActiveRecord::Base
23
- acts_as_authorization_subject :role_class_name => 'AnotherRole'
24
- end
25
-
26
- class AnotherRole < ActiveRecord::Base
27
- acts_as_authorization_role :subject_class_name => "AnotherSubject"
28
- end
29
-
30
- class FooBar < ActiveRecord::Base
31
- acts_as_authorization_object :role_class_name => 'AnotherRole', :subject_class_name => "AnotherSubject"
32
- end
33
-
34
- class DifferentAssociationNameSubject < ActiveRecord::Base
35
- acts_as_authorization_subject :association_name => 'roles', :role_class_name => "DifferentAssociationNameRole"
36
- end
37
-
38
- class DifferentAssociationNameRole < ActiveRecord::Base
39
- acts_as_authorization_role :subject_class_name => "DifferentAssociationNameSubject"
40
- end
41
-
42
- module Other
43
-
44
- class Other::User < ActiveRecord::Base
45
- set_table_name "other_users"
46
- acts_as_authorization_subject :join_table_name => "other_roles_other_users", :role_class_name => "Other::Role"
47
- end
48
-
49
- class Other::Role < ActiveRecord::Base
50
- set_table_name "other_roles"
51
- acts_as_authorization_role :join_table_name => "other_roles_other_users", :subject_class_name => "Other::User"
52
- end
53
-
54
- class Other::FooBar < ActiveRecord::Base
55
- set_table_name "other_foo_bars"
56
- acts_as_authorization_object :role_class_name => 'Other::Role', :subject_class_name => "Other::User"
57
- end
58
-
59
- end
@@ -1,92 +0,0 @@
1
- ActiveRecord::Schema.define(:version => 0) do
2
- create_table "roles", :force => true do |t|
3
- t.string "name", :limit => 40
4
- t.string "authorizable_type", :limit => 40
5
- t.string "authorizable_id"
6
- t.datetime "created_at"
7
- t.datetime "updated_at"
8
- end
9
-
10
- create_table "another_roles", :force => true do |t|
11
- t.string "name", :limit => 40
12
- t.string "authorizable_type", :limit => 40
13
- t.integer "authorizable_id"
14
- t.datetime "created_at"
15
- t.datetime "updated_at"
16
- end
17
-
18
- create_table "different_association_name_roles", :force => true do |t|
19
- t.string "name", :limit => 40
20
- t.string "authorizable_type", :limit => 40
21
- t.integer "authorizable_id"
22
- t.datetime "created_at"
23
- t.datetime "updated_at"
24
- end
25
-
26
- create_table "users", :force => true do |t| end
27
- create_table "another_subjects", :force => true do |t| end
28
- create_table "different_association_name_subjects", :force => true do |t| end
29
-
30
- create_table "roles_users", :id => false, :force => true do |t|
31
- t.integer "user_id"
32
- t.integer "role_id"
33
- t.datetime "created_at"
34
- t.datetime "updated_at"
35
- end
36
-
37
- create_table "another_roles_another_subjects", :id => false, :force => true do |t|
38
- t.integer "another_subject_id"
39
- t.integer "another_role_id"
40
- t.datetime "created_at"
41
- t.datetime "updated_at"
42
- end
43
-
44
- create_table "different_association_name_roles_different_association_name_subjects", :id => false, :force => true do |t|
45
- t.integer "different_association_name_subject_id"
46
- t.integer "different_association_name_role_id"
47
- t.datetime "created_at"
48
- t.datetime "updated_at"
49
- end
50
-
51
- create_table "foos", :force => true do |t|
52
- t.datetime "created_at"
53
- t.datetime "updated_at"
54
- end
55
-
56
- create_table "uuids", :id => false, :force => true do |t|
57
- t.string "uuid"
58
- t.datetime "created_at"
59
- t.datetime "updated_at"
60
- end
61
-
62
- create_table "bars", :force => true do |t|
63
- t.datetime "created_at"
64
- t.datetime "updated_at"
65
- end
66
- create_table "foo_bars", :force => true do |t|
67
- t.datetime "created_at"
68
- t.datetime "updated_at"
69
- end
70
-
71
- # namespaced
72
-
73
- create_table "other_roles", :force => true do |t|
74
- t.string "name", :limit => 40
75
- t.string "authorizable_type", :limit => 40
76
- t.integer "authorizable_id"
77
- t.datetime "created_at"
78
- t.datetime "updated_at"
79
- end
80
- create_table "other_users", :force => true do |t| end
81
- create_table "other_roles_other_users", :id => false, :force => true do |t|
82
- t.integer "user_id"
83
- t.integer "role_id"
84
- t.datetime "created_at"
85
- t.datetime "updated_at"
86
- end
87
- create_table "other_foo_bars", :force => true do |t|
88
- t.datetime "created_at"
89
- t.datetime "updated_at"
90
- end
91
-
92
- end