darkhelmet-role_on 0.2.5 → 0.2.6

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 (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