darkhelmet-role_on 0.2.5 → 0.2.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (4) hide show
  1. data/VERSION +1 -1
  2. data/lib/role_on.rb +5 -6
  3. data/role_on.gemspec +5 -2
  4. metadata +2 -2
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.2.5
1
+ 0.2.6
data/lib/role_on.rb CHANGED
@@ -2,11 +2,9 @@ module RoleOn
2
2
  module RoleOnControllerMethods
3
3
  def role_on(role, options = {})
4
4
  before_filter do |c|
5
- if c.respond_to?(:role_on_defaults)
6
- options = c.role_on_defaults.merge(options)
7
- end
5
+ options = c.__send__(:role_on_defaults).merge(options) if (c.methods | c.protected_methods | c.private_methods).include?('role_on_defaults')
8
6
  action = c.params[:action].intern
9
- user_roles = c.current_user.roles.map(&:name).map(&:intern)
7
+ user_roles = c.__send__(:current_user).roles.map(&:name).map(&:intern)
10
8
  restricted_actions = if options.include?(:on)
11
9
  [options[:on]].flatten
12
10
  elsif options.include?(:except)
@@ -15,10 +13,11 @@ module RoleOn
15
13
  c.class.action_methods.to_a.map(&:intern)
16
14
  end
17
15
  if restricted_actions.include?(action) && !user_roles.include?(role) && (options.include?(:sa) ? !user_roles.include?(options[:sa]) : false)
18
- c.send(:access_denied)
16
+ c.__send__(:access_denied)
19
17
  false
18
+ else
19
+ true
20
20
  end
21
- true
22
21
  end
23
22
  end
24
23
  end
data/role_on.gemspec CHANGED
@@ -1,12 +1,15 @@
1
+ # Generated by jeweler
2
+ # DO NOT EDIT THIS FILE
3
+ # Instead, edit Jeweler::Tasks in Rakefile, and run `rake gemspec`
1
4
  # -*- encoding: utf-8 -*-
2
5
 
3
6
  Gem::Specification.new do |s|
4
7
  s.name = %q{role_on}
5
- s.version = "0.2.5"
8
+ s.version = "0.2.6"
6
9
 
7
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
8
11
  s.authors = ["Daniel Huckstep"]
9
- s.date = %q{2009-07-30}
12
+ s.date = %q{2009-08-21}
10
13
  s.email = %q{darkhelmet@darkhelmetlive.com}
11
14
  s.extra_rdoc_files = [
12
15
  "LICENSE",
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: darkhelmet-role_on
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.5
4
+ version: 0.2.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Daniel Huckstep
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-07-30 00:00:00 -07:00
12
+ date: 2009-08-21 00:00:00 -07:00
13
13
  default_executable:
14
14
  dependencies: []
15
15