blaxter-lockdown 0.9.8.99

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 (59) hide show
  1. data/History.txt +195 -0
  2. data/README.txt +36 -0
  3. data/Rakefile +41 -0
  4. data/lib/lockdown.rb +70 -0
  5. data/lib/lockdown/context.rb +41 -0
  6. data/lib/lockdown/database.rb +105 -0
  7. data/lib/lockdown/frameworks/rails.rb +154 -0
  8. data/lib/lockdown/frameworks/rails/controller.rb +154 -0
  9. data/lib/lockdown/frameworks/rails/view.rb +50 -0
  10. data/lib/lockdown/helper.rb +95 -0
  11. data/lib/lockdown/orms/active_record.rb +68 -0
  12. data/lib/lockdown/permission.rb +204 -0
  13. data/lib/lockdown/rules.rb +321 -0
  14. data/lib/lockdown/session.rb +57 -0
  15. data/lib/lockdown/system.rb +60 -0
  16. data/rails_generators/lockdown/lockdown_generator.rb +273 -0
  17. data/rails_generators/lockdown/templates/app/controllers/permissions_controller.rb +22 -0
  18. data/rails_generators/lockdown/templates/app/controllers/sessions_controller.rb +39 -0
  19. data/rails_generators/lockdown/templates/app/controllers/user_groups_controller.rb +122 -0
  20. data/rails_generators/lockdown/templates/app/controllers/users_controller.rb +117 -0
  21. data/rails_generators/lockdown/templates/app/helpers/permissions_helper.rb +2 -0
  22. data/rails_generators/lockdown/templates/app/helpers/user_groups_helper.rb +2 -0
  23. data/rails_generators/lockdown/templates/app/helpers/users_helper.rb +2 -0
  24. data/rails_generators/lockdown/templates/app/models/permission.rb +13 -0
  25. data/rails_generators/lockdown/templates/app/models/profile.rb +10 -0
  26. data/rails_generators/lockdown/templates/app/models/user.rb +95 -0
  27. data/rails_generators/lockdown/templates/app/models/user_group.rb +15 -0
  28. data/rails_generators/lockdown/templates/app/views/permissions/index.html.erb +16 -0
  29. data/rails_generators/lockdown/templates/app/views/permissions/show.html.erb +26 -0
  30. data/rails_generators/lockdown/templates/app/views/sessions/new.html.erb +12 -0
  31. data/rails_generators/lockdown/templates/app/views/user_groups/edit.html.erb +33 -0
  32. data/rails_generators/lockdown/templates/app/views/user_groups/index.html.erb +20 -0
  33. data/rails_generators/lockdown/templates/app/views/user_groups/new.html.erb +31 -0
  34. data/rails_generators/lockdown/templates/app/views/user_groups/show.html.erb +29 -0
  35. data/rails_generators/lockdown/templates/app/views/users/edit.html.erb +51 -0
  36. data/rails_generators/lockdown/templates/app/views/users/index.html.erb +22 -0
  37. data/rails_generators/lockdown/templates/app/views/users/new.html.erb +50 -0
  38. data/rails_generators/lockdown/templates/app/views/users/show.html.erb +33 -0
  39. data/rails_generators/lockdown/templates/config/initializers/lockit.rb +1 -0
  40. data/rails_generators/lockdown/templates/db/migrate/create_admin_user.rb +17 -0
  41. data/rails_generators/lockdown/templates/db/migrate/create_permissions.rb +19 -0
  42. data/rails_generators/lockdown/templates/db/migrate/create_profiles.rb +26 -0
  43. data/rails_generators/lockdown/templates/db/migrate/create_user_groups.rb +19 -0
  44. data/rails_generators/lockdown/templates/db/migrate/create_users.rb +17 -0
  45. data/rails_generators/lockdown/templates/lib/lockdown/README +42 -0
  46. data/rails_generators/lockdown/templates/lib/lockdown/init.rb +122 -0
  47. data/spec/lockdown/database_spec.rb +158 -0
  48. data/spec/lockdown/frameworks/rails/controller_spec.rb +224 -0
  49. data/spec/lockdown/frameworks/rails/view_spec.rb +87 -0
  50. data/spec/lockdown/frameworks/rails_spec.rb +175 -0
  51. data/spec/lockdown/permission_spec.rb +156 -0
  52. data/spec/lockdown/rules_spec.rb +109 -0
  53. data/spec/lockdown/session_spec.rb +89 -0
  54. data/spec/lockdown/system_spec.rb +59 -0
  55. data/spec/lockdown_spec.rb +19 -0
  56. data/spec/rcov.opts +5 -0
  57. data/spec/spec.opts +3 -0
  58. data/spec/spec_helper.rb +1 -0
  59. metadata +122 -0
@@ -0,0 +1,59 @@
1
+ require File.join(File.dirname(__FILE__), %w[.. spec_helper])
2
+ require File.join(File.dirname(__FILE__), %w[.. .. lib lockdown rules])
3
+
4
+ describe Lockdown::System do
5
+ it "should fetch the option" do
6
+ Lockdown::System.options = {}
7
+ Lockdown::System.options['test'] = "my test"
8
+ Lockdown::System.fetch('test').should == "my test"
9
+ end
10
+
11
+ it "should fetch the controller class" do
12
+ klass = mock("User Controller Class")
13
+ Lockdown.stub!(:controller_class_name).and_return(:users)
14
+ Lockdown::System.controller_classes = {}
15
+ Lockdown::System.controller_classes[:users] = klass
16
+ Lockdown::System.fetch_controller_class(:users).should equal(klass)
17
+ end
18
+
19
+ describe "#configure" do
20
+ it "should call the methods responsible for defining the rules" do
21
+ Lockdown::System.stub!(:skip_sync?).and_return(false)
22
+
23
+ Lockdown::System.should_receive :set_defaults
24
+
25
+ Lockdown::System.should_receive :load_controller_classes
26
+
27
+ Lockdown::System.should_receive :instance_eval
28
+
29
+ Lockdown::System.should_receive :process_rules
30
+
31
+ Lockdown::Database.should_receive :sync_with_db
32
+
33
+ Lockdown::System.configure do
34
+ end
35
+ end
36
+ end
37
+
38
+ describe "#paths_for" do
39
+ it "should join the str_sym to the methods" do
40
+ Lockdown::System.paths_for(:users, :show, :edit).
41
+ should == ["users/show", "users/edit"]
42
+ end
43
+
44
+ it "should add users to the array if access is granted on index" do
45
+ Lockdown::System.paths_for(:users, :index, :show, :edit).
46
+ should == ["users/index", "users/show", "users/edit", "users"]
47
+ end
48
+
49
+ it "should build the paths from the controller class if no methods specified" do
50
+ methods = ["new","edit","create","update"]
51
+ Lockdown::System.stub!(:fetch_controller_class)
52
+ Lockdown::System.stub!(:available_actions).
53
+ and_return(methods)
54
+
55
+ Lockdown::System.paths_for(:users).
56
+ should == ["users/new","users/edit","users/create","users/update"]
57
+ end
58
+ end
59
+ end
@@ -0,0 +1,19 @@
1
+ require File.join(File.dirname(__FILE__), 'spec_helper')
2
+
3
+ describe Lockdown do
4
+ before do
5
+ Lockdown.stub!(:version).and_return('1.2.3')
6
+ end
7
+
8
+ it "should return the correct major version" do
9
+ Lockdown.major_version.should equal(1)
10
+ end
11
+
12
+ it "should return the correct minor version" do
13
+ Lockdown.minor_version.should equal(2)
14
+ end
15
+
16
+ it "should return the correct patch version" do
17
+ Lockdown.patch_version.should equal(3)
18
+ end
19
+ end
data/spec/rcov.opts ADDED
@@ -0,0 +1,5 @@
1
+ --text-summary
2
+ --exclude
3
+ json,FakeWeb,rcov.rb,rspec,spec
4
+ --sort
5
+ coverage
data/spec/spec.opts ADDED
@@ -0,0 +1,3 @@
1
+ --color
2
+ --format
3
+ progress
@@ -0,0 +1 @@
1
+ require File.expand_path(File.join(File.dirname(__FILE__), %w[.. lib lockdown]))
metadata ADDED
@@ -0,0 +1,122 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: blaxter-lockdown
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.9.8.99
5
+ platform: ruby
6
+ authors:
7
+ - Andrew Stone
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+
12
+ date: 2009-08-04 00:00:00 -07:00
13
+ default_executable:
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: bones
17
+ type: :development
18
+ version_requirement:
19
+ version_requirements: !ruby/object:Gem::Requirement
20
+ requirements:
21
+ - - ">="
22
+ - !ruby/object:Gem::Version
23
+ version: 2.5.1
24
+ version:
25
+ description: Lockdown is an authorization system for RubyOnRails (ver >= 2.1).
26
+ email: andy@stonean.com
27
+ executables: []
28
+
29
+ extensions: []
30
+
31
+ extra_rdoc_files:
32
+ - History.txt
33
+ - README.txt
34
+ files:
35
+ - History.txt
36
+ - README.txt
37
+ - Rakefile
38
+ - lib/lockdown.rb
39
+ - lib/lockdown/context.rb
40
+ - lib/lockdown/database.rb
41
+ - lib/lockdown/frameworks/rails.rb
42
+ - lib/lockdown/frameworks/rails/controller.rb
43
+ - lib/lockdown/frameworks/rails/view.rb
44
+ - lib/lockdown/helper.rb
45
+ - lib/lockdown/orms/active_record.rb
46
+ - lib/lockdown/permission.rb
47
+ - lib/lockdown/rules.rb
48
+ - lib/lockdown/session.rb
49
+ - lib/lockdown/system.rb
50
+ - rails_generators/lockdown/lockdown_generator.rb
51
+ - rails_generators/lockdown/templates/app/controllers/permissions_controller.rb
52
+ - rails_generators/lockdown/templates/app/controllers/sessions_controller.rb
53
+ - rails_generators/lockdown/templates/app/controllers/user_groups_controller.rb
54
+ - rails_generators/lockdown/templates/app/controllers/users_controller.rb
55
+ - rails_generators/lockdown/templates/app/helpers/permissions_helper.rb
56
+ - rails_generators/lockdown/templates/app/helpers/user_groups_helper.rb
57
+ - rails_generators/lockdown/templates/app/helpers/users_helper.rb
58
+ - rails_generators/lockdown/templates/app/models/permission.rb
59
+ - rails_generators/lockdown/templates/app/models/profile.rb
60
+ - rails_generators/lockdown/templates/app/models/user.rb
61
+ - rails_generators/lockdown/templates/app/models/user_group.rb
62
+ - rails_generators/lockdown/templates/app/views/permissions/index.html.erb
63
+ - rails_generators/lockdown/templates/app/views/permissions/show.html.erb
64
+ - rails_generators/lockdown/templates/app/views/sessions/new.html.erb
65
+ - rails_generators/lockdown/templates/app/views/user_groups/edit.html.erb
66
+ - rails_generators/lockdown/templates/app/views/user_groups/index.html.erb
67
+ - rails_generators/lockdown/templates/app/views/user_groups/new.html.erb
68
+ - rails_generators/lockdown/templates/app/views/user_groups/show.html.erb
69
+ - rails_generators/lockdown/templates/app/views/users/edit.html.erb
70
+ - rails_generators/lockdown/templates/app/views/users/index.html.erb
71
+ - rails_generators/lockdown/templates/app/views/users/new.html.erb
72
+ - rails_generators/lockdown/templates/app/views/users/show.html.erb
73
+ - rails_generators/lockdown/templates/config/initializers/lockit.rb
74
+ - rails_generators/lockdown/templates/db/migrate/create_admin_user.rb
75
+ - rails_generators/lockdown/templates/db/migrate/create_permissions.rb
76
+ - rails_generators/lockdown/templates/db/migrate/create_profiles.rb
77
+ - rails_generators/lockdown/templates/db/migrate/create_user_groups.rb
78
+ - rails_generators/lockdown/templates/db/migrate/create_users.rb
79
+ - rails_generators/lockdown/templates/lib/lockdown/README
80
+ - rails_generators/lockdown/templates/lib/lockdown/init.rb
81
+ - spec/lockdown/database_spec.rb
82
+ - spec/lockdown/frameworks/rails/controller_spec.rb
83
+ - spec/lockdown/frameworks/rails/view_spec.rb
84
+ - spec/lockdown/frameworks/rails_spec.rb
85
+ - spec/lockdown/permission_spec.rb
86
+ - spec/lockdown/rules_spec.rb
87
+ - spec/lockdown/session_spec.rb
88
+ - spec/lockdown/system_spec.rb
89
+ - spec/lockdown_spec.rb
90
+ - spec/rcov.opts
91
+ - spec/spec.opts
92
+ - spec/spec_helper.rb
93
+ has_rdoc: false
94
+ homepage: http://stonean.com/wiki/lockdown
95
+ licenses:
96
+ post_install_message:
97
+ rdoc_options:
98
+ - --main
99
+ - README.txt
100
+ require_paths:
101
+ - lib
102
+ required_ruby_version: !ruby/object:Gem::Requirement
103
+ requirements:
104
+ - - ">="
105
+ - !ruby/object:Gem::Version
106
+ version: "0"
107
+ version:
108
+ required_rubygems_version: !ruby/object:Gem::Requirement
109
+ requirements:
110
+ - - ">="
111
+ - !ruby/object:Gem::Version
112
+ version: "0"
113
+ version:
114
+ requirements: []
115
+
116
+ rubyforge_project: lockdown
117
+ rubygems_version: 1.3.5
118
+ signing_key:
119
+ specification_version: 3
120
+ summary: Lockdown is an authorization system for RubyOnRails (ver >= 2
121
+ test_files: []
122
+