revo-lockdown 1.7.0 → 1.7.1

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION ADDED
@@ -0,0 +1 @@
1
+ 0.0.0
@@ -46,16 +46,24 @@ module Lockdown
46
46
  end
47
47
 
48
48
  def user_groups_allowed_on_path?(path, user_groups)
49
+ if @acces_group_rights.nil?
50
+ @acces_group_rights = {}
51
+ end
52
+
49
53
  user_groups.each do |user_group|
50
54
  user_group_sym = user_group.name.underscore.tr(' ','_').to_sym
51
- rights = (Lockdown::System.public_access + Lockdown::System.access_rights_for_user_group(user_group_sym))
52
- return true if rights.include?(path)
55
+
56
+ if @acces_group_rights[user_group_sym].nil?
57
+ @acces_group_rights[user_group_sym] = Lockdown::System.public_access + Lockdown::System.access_rights_for_user_group(user_group_sym)
58
+ end
59
+
60
+ return true if @acces_group_rights[user_group_sym].include?(path)
53
61
  end
54
62
  return false
55
63
  end
56
64
 
57
65
  def path_part_of_public_access?(path)
58
- return Lockdown::System.public_access.include?(path)
66
+ return Lockdown::System.public_access.include?(path)
59
67
  end
60
68
 
61
69
  def check_session_expiry
@@ -177,3 +185,4 @@ module Lockdown
177
185
  end # Frameworks
178
186
  end # Lockdown
179
187
 
188
+
@@ -19,8 +19,17 @@ module Lockdown
19
19
  end
20
20
  end
21
21
 
22
- def link_to_secured(name, options = {}, html_options = nil)
23
- secured_link_for(:link_to_open, name, options, html_options)
22
+ def link_to_secured(*args, &block)
23
+ if block_given?
24
+ name = nil
25
+ options = args.first || {}
26
+ html_options = args.second
27
+ else
28
+ name = args.first
29
+ options = args.second || {}
30
+ html_options = args.third
31
+ end
32
+ secured_link_for(:link_to_open, name, options, html_options, &block)
24
33
  end
25
34
 
26
35
  def link_to_remote_secured(name, options = {}, html_options = nil)
@@ -48,12 +57,16 @@ module Lockdown
48
57
  rvalue.join( Lockdown::System.fetch(:link_separator) )
49
58
  end
50
59
 
51
- def secured_link_for(link_method_name, name, options, html_options)
60
+ def secured_link_for(link_method_name, name, options, html_options, &block)
52
61
  url = url_from(options)
53
62
  method = html_options ? html_options[:method] : :get
54
63
  url_to_authorize = remove_subdirectory(url)
55
64
  if authorized?(url_to_authorize, method)
56
- return send(link_method_name, name, options, html_options)
65
+ if block_given?
66
+ return send(link_method_name, options, html_options, &block)
67
+ else
68
+ return send(link_method_name, name, options, html_options)
69
+ end
57
70
  end
58
71
  return ""
59
72
  end
@@ -1,15 +1,15 @@
1
1
  # Generated by jeweler
2
- # DO NOT EDIT THIS FILE DIRECTLY
3
- # Instead, edit Jeweler::Tasks in Rakefile, and run the gemspec command
2
+ # DO NOT EDIT THIS FILE
3
+ # Instead, edit Jeweler::Tasks in Rakefile, and run `rake gemspec`
4
4
  # -*- encoding: utf-8 -*-
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{revo-lockdown}
8
- s.version = "1.7.0"
8
+ s.version = "1.7.1"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Andrew Stone", "Revo Pty. Ltd."]
12
- s.date = %q{2010-03-02}
12
+ s.date = %q{2010-10-01}
13
13
  s.description = %q{Restrict access to your controller actions. Supports basic model level restrictions as well}
14
14
  s.email = %q{andy@stonean.com}
15
15
  s.extra_rdoc_files = [
@@ -19,6 +19,7 @@ Gem::Specification.new do |s|
19
19
  ".gitignore",
20
20
  "README.txt",
21
21
  "Rakefile",
22
+ "VERSION",
22
23
  "lib/lockdown.rb",
23
24
  "lib/lockdown/context.rb",
24
25
  "lib/lockdown/errors.rb",
@@ -51,27 +52,27 @@ Gem::Specification.new do |s|
51
52
  s.rdoc_options = ["--charset=UTF-8"]
52
53
  s.require_paths = ["lib"]
53
54
  s.rubyforge_project = %q{lockdown}
54
- s.rubygems_version = %q{1.3.5}
55
+ s.rubygems_version = %q{1.3.7}
55
56
  s.summary = %q{Authorization system for Rails 2.x}
56
57
  s.test_files = [
57
58
  "spec/lockdown_spec.rb",
58
- "spec/spec_helper.rb",
59
+ "spec/lockdown/frameworks/rails_spec.rb",
60
+ "spec/lockdown/frameworks/rails/view_spec.rb",
61
+ "spec/lockdown/frameworks/rails/controller_spec.rb",
62
+ "spec/lockdown/rules_spec.rb",
59
63
  "spec/lockdown/system_spec.rb",
60
- "spec/lockdown/context_spec.rb",
64
+ "spec/lockdown/rspec_helper_spec.rb",
61
65
  "spec/lockdown/permission_spec.rb",
66
+ "spec/lockdown/context_spec.rb",
62
67
  "spec/lockdown/session_spec.rb",
63
- "spec/lockdown/rspec_helper_spec.rb",
64
- "spec/lockdown/rules_spec.rb",
65
- "spec/lockdown/frameworks/rails_spec.rb",
66
- "spec/lockdown/frameworks/rails/view_spec.rb",
67
- "spec/lockdown/frameworks/rails/controller_spec.rb"
68
+ "spec/spec_helper.rb"
68
69
  ]
69
70
 
70
71
  if s.respond_to? :specification_version then
71
72
  current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
72
73
  s.specification_version = 3
73
74
 
74
- if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
75
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
75
76
  s.add_development_dependency(%q<rspec>, [">= 0"])
76
77
  else
77
78
  s.add_dependency(%q<rspec>, [">= 0"])
@@ -80,4 +81,3 @@ Gem::Specification.new do |s|
80
81
  s.add_dependency(%q<rspec>, [">= 0"])
81
82
  end
82
83
  end
83
-
metadata CHANGED
@@ -1,28 +1,38 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: revo-lockdown
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.7.0
4
+ hash: 9
5
+ prerelease: false
6
+ segments:
7
+ - 1
8
+ - 7
9
+ - 1
10
+ version: 1.7.1
5
11
  platform: ruby
6
12
  authors:
7
- - Andrew Stone
8
- - Revo Pty. Ltd.
13
+ - Andrew Stone
14
+ - Revo Pty. Ltd.
9
15
  autorequire:
10
16
  bindir: bin
11
17
  cert_chain: []
12
18
 
13
- date: 2010-03-02 00:00:00 +11:00
19
+ date: 2010-10-01 00:00:00 +10:00
14
20
  default_executable:
15
21
  dependencies:
16
- - !ruby/object:Gem::Dependency
17
- name: rspec
18
- type: :development
19
- version_requirement:
20
- version_requirements: !ruby/object:Gem::Requirement
21
- requirements:
22
- - - ">="
23
- - !ruby/object:Gem::Version
24
- version: "0"
25
- version:
22
+ - !ruby/object:Gem::Dependency
23
+ name: rspec
24
+ prerelease: false
25
+ requirement: &id001 !ruby/object:Gem::Requirement
26
+ none: false
27
+ requirements:
28
+ - - ">="
29
+ - !ruby/object:Gem::Version
30
+ hash: 3
31
+ segments:
32
+ - 0
33
+ version: "0"
34
+ type: :development
35
+ version_requirements: *id001
26
36
  description: Restrict access to your controller actions. Supports basic model level restrictions as well
27
37
  email: andy@stonean.com
28
38
  executables: []
@@ -30,75 +40,82 @@ executables: []
30
40
  extensions: []
31
41
 
32
42
  extra_rdoc_files:
33
- - README.txt
43
+ - README.txt
34
44
  files:
35
- - .gitignore
36
- - README.txt
37
- - Rakefile
38
- - lib/lockdown.rb
39
- - lib/lockdown/context.rb
40
- - lib/lockdown/errors.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/permission.rb
46
- - lib/lockdown/references.rb
47
- - lib/lockdown/rspec_helper.rb
48
- - lib/lockdown/rules.rb
49
- - lib/lockdown/session.rb
50
- - lib/lockdown/system.rb
51
- - revo-lockdown.gemspec
52
- - spec/lockdown/context_spec.rb
53
- - spec/lockdown/frameworks/rails/controller_spec.rb
54
- - spec/lockdown/frameworks/rails/view_spec.rb
55
- - spec/lockdown/frameworks/rails_spec.rb
56
- - spec/lockdown/permission_spec.rb
57
- - spec/lockdown/rspec_helper_spec.rb
58
- - spec/lockdown/rules_spec.rb
59
- - spec/lockdown/session_spec.rb
60
- - spec/lockdown/system_spec.rb
61
- - spec/lockdown_spec.rb
62
- - spec/rcov.opts
63
- - spec/spec.opts
64
- - spec/spec_helper.rb
45
+ - .gitignore
46
+ - README.txt
47
+ - Rakefile
48
+ - VERSION
49
+ - lib/lockdown.rb
50
+ - lib/lockdown/context.rb
51
+ - lib/lockdown/errors.rb
52
+ - lib/lockdown/frameworks/rails.rb
53
+ - lib/lockdown/frameworks/rails/controller.rb
54
+ - lib/lockdown/frameworks/rails/view.rb
55
+ - lib/lockdown/helper.rb
56
+ - lib/lockdown/permission.rb
57
+ - lib/lockdown/references.rb
58
+ - lib/lockdown/rspec_helper.rb
59
+ - lib/lockdown/rules.rb
60
+ - lib/lockdown/session.rb
61
+ - lib/lockdown/system.rb
62
+ - revo-lockdown.gemspec
63
+ - spec/lockdown/context_spec.rb
64
+ - spec/lockdown/frameworks/rails/controller_spec.rb
65
+ - spec/lockdown/frameworks/rails/view_spec.rb
66
+ - spec/lockdown/frameworks/rails_spec.rb
67
+ - spec/lockdown/permission_spec.rb
68
+ - spec/lockdown/rspec_helper_spec.rb
69
+ - spec/lockdown/rules_spec.rb
70
+ - spec/lockdown/session_spec.rb
71
+ - spec/lockdown/system_spec.rb
72
+ - spec/lockdown_spec.rb
73
+ - spec/rcov.opts
74
+ - spec/spec.opts
75
+ - spec/spec_helper.rb
65
76
  has_rdoc: true
66
77
  homepage: http://stonean.com/wiki/lockdown
67
78
  licenses: []
68
79
 
69
80
  post_install_message:
70
81
  rdoc_options:
71
- - --charset=UTF-8
82
+ - --charset=UTF-8
72
83
  require_paths:
73
- - lib
84
+ - lib
74
85
  required_ruby_version: !ruby/object:Gem::Requirement
86
+ none: false
75
87
  requirements:
76
- - - ">="
77
- - !ruby/object:Gem::Version
78
- version: "0"
79
- version:
88
+ - - ">="
89
+ - !ruby/object:Gem::Version
90
+ hash: 3
91
+ segments:
92
+ - 0
93
+ version: "0"
80
94
  required_rubygems_version: !ruby/object:Gem::Requirement
95
+ none: false
81
96
  requirements:
82
- - - ">="
83
- - !ruby/object:Gem::Version
84
- version: "0"
85
- version:
97
+ - - ">="
98
+ - !ruby/object:Gem::Version
99
+ hash: 3
100
+ segments:
101
+ - 0
102
+ version: "0"
86
103
  requirements: []
87
104
 
88
105
  rubyforge_project: lockdown
89
- rubygems_version: 1.3.5
106
+ rubygems_version: 1.3.7
90
107
  signing_key:
91
108
  specification_version: 3
92
109
  summary: Authorization system for Rails 2.x
93
110
  test_files:
94
- - spec/lockdown_spec.rb
95
- - spec/spec_helper.rb
96
- - spec/lockdown/system_spec.rb
97
- - spec/lockdown/context_spec.rb
98
- - spec/lockdown/permission_spec.rb
99
- - spec/lockdown/session_spec.rb
100
- - spec/lockdown/rspec_helper_spec.rb
101
- - spec/lockdown/rules_spec.rb
102
- - spec/lockdown/frameworks/rails_spec.rb
103
- - spec/lockdown/frameworks/rails/view_spec.rb
104
- - spec/lockdown/frameworks/rails/controller_spec.rb
111
+ - spec/lockdown_spec.rb
112
+ - spec/lockdown/frameworks/rails_spec.rb
113
+ - spec/lockdown/frameworks/rails/view_spec.rb
114
+ - spec/lockdown/frameworks/rails/controller_spec.rb
115
+ - spec/lockdown/rules_spec.rb
116
+ - spec/lockdown/system_spec.rb
117
+ - spec/lockdown/rspec_helper_spec.rb
118
+ - spec/lockdown/permission_spec.rb
119
+ - spec/lockdown/context_spec.rb
120
+ - spec/lockdown/session_spec.rb
121
+ - spec/spec_helper.rb