blaxter-lockdown 0.9.8.99

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