cantango-core 0.1.1 → 0.1.2

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.1
1
+ 0.1.2
@@ -4,14 +4,17 @@
4
4
  # -*- encoding: utf-8 -*-
5
5
 
6
6
  Gem::Specification.new do |s|
7
- s.name = "cantango-core"
8
- s.version = "0.1.1"
7
+ s.name = %q{cantango-core}
8
+ s.version = "0.1.2"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
- s.authors = ["Kristian Mandrup", "Stanislaw Pankevich"]
12
- s.date = "2011-11-25"
13
- s.description = "Define your permission rules as role- or role group specific permits.\nIntegrates well with multiple Devise user acounts.\nIncludes rules caching.\nStore permissions in yaml file or key-value store"
14
- s.email = "kmandrup@gmail.com, s.pankevich@gmail.com"
11
+ s.authors = [%q{Kristian Mandrup}, %q{Stanislaw Pankevich}]
12
+ s.date = %q{2011-11-25}
13
+ s.description = %q{Define your permission rules as role- or role group specific permits.
14
+ Integrates well with multiple Devise user acounts.
15
+ Includes rules caching.
16
+ Store permissions in yaml file or key-value store}
17
+ s.email = %q{kmandrup@gmail.com, s.pankevich@gmail.com}
15
18
  s.extra_rdoc_files = [
16
19
  "LICENSE.txt",
17
20
  "README.mdown"
@@ -29,8 +32,7 @@ Gem::Specification.new do |s|
29
32
  "lib/cantango/ability.rb",
30
33
  "lib/cantango/ability/base.rb",
31
34
  "lib/cantango/ability/cache.rb",
32
- "lib/cantango/ability/cache/key.rb",
33
- "lib/cantango/ability/cached.rb",
35
+ "lib/cantango/ability/cache/simple_key.rb",
34
36
  "lib/cantango/ability/executor.rb",
35
37
  "lib/cantango/ability/executor/base.rb",
36
38
  "lib/cantango/ability/executor/cache_mode.rb",
@@ -110,11 +112,11 @@ Gem::Specification.new do |s|
110
112
  "spec/generators/cantango/install_generator_spec.rb",
111
113
  "spec/spec_helper.rb"
112
114
  ]
113
- s.homepage = "http://github.com/kristianmandrup/cantango"
114
- s.licenses = ["MIT"]
115
- s.require_paths = ["lib"]
116
- s.rubygems_version = "1.8.10"
117
- s.summary = "CanCan extension with role oriented permission management and more"
115
+ s.homepage = %q{http://github.com/kristianmandrup/cantango}
116
+ s.licenses = [%q{MIT}]
117
+ s.require_paths = [%q{lib}]
118
+ s.rubygems_version = %q{1.8.6}
119
+ s.summary = %q{CanCan extension with role oriented permission management and more}
118
120
 
119
121
  if s.respond_to? :specification_version then
120
122
  s.specification_version = 3
@@ -1,7 +1,7 @@
1
1
  module CanTango
2
2
  module Ability
3
3
  module Cache
4
- class Key
4
+ class SimpleKey
5
5
  attr_reader :user, :subject
6
6
 
7
7
  def initialize user, subject = nil
data/lib/cantango/core.rb CHANGED
@@ -21,64 +21,6 @@ module CanTango
21
21
  autoload_modules :Ability, :Engine, :Filter
22
22
  autoload_modules :Helpers, :Loader, :Macros, :Model
23
23
  autoload_modules :Rules, :Scope
24
-
25
- class << self
26
- def configure &block
27
- conf = CanTango::Configuration.instance
28
- yield conf if block
29
- conf
30
- end
31
-
32
- alias_method :config, :configure
33
-
34
- # Engine hook
35
- # Run after the initializers are ran for all Railties (including the application itself), but before eager loading and the middleware stack is built.
36
- # More importantly, will run upon every request in development, but only once (during boot-up) in production and test.
37
- def to_prepare
38
- config.hook(:to_prepare).call if config.hook(:to_prepare)
39
- end
40
-
41
- # engine hook, run after all Rails initializations have been executed
42
- def after_initialize
43
- config.hook(:after_initialize).call if config.hook(:after_initialize)
44
- end
45
-
46
- def permits_allowed candidate, actions, subjects, *extra_args
47
- raise "Debugging has not been turned on. Turn it on using: CanTango.debug!" if CanTango.config.debug.off?
48
- config.permits.allowed candidate, actions, subjects, *extra_args
49
- end
50
-
51
- def permits_denied candidate, actions, subjects, *extra_args
52
- raise "Debugging has not been turned on. Turn it on using: CanTango.debug!" if CanTango.config.debug.off?
53
- config.permits.denied candidate, actions, subjects, *extra_args
54
- end
55
-
56
- def debug_permits_registry
57
- puts "permits registry:" << CanTango.config.permits.show_all.inspect
58
- end
59
-
60
- def debug_ability candidate, actions, subjects, *extra_args
61
- puts "Ability: #{actions} on #{subjects}"
62
- puts "permits allowed:" << permits_allowed(candidate, actions, subjects, *extra_args).inspect
63
- puts "permits denied:" << permits_denied(candidate, actions, subjects, *extra_args).inspect
64
- end
65
-
66
- def clear_permits_executed!
67
- config.permits.clear_executed!
68
- end
69
-
70
- def debug!
71
- config.debug.set :on
72
- end
73
-
74
- def debug_off!
75
- config.debug.set :off
76
- end
77
-
78
- def debug?
79
- config.debug.on?
80
- end
81
- end
82
24
  end
83
25
 
84
26
  require 'cantango/macros'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cantango-core
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -14,7 +14,7 @@ date: 2011-11-25 00:00:00.000000000Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: rails
17
- requirement: &881856320 !ruby/object:Gem::Requirement
17
+ requirement: &70238708982740 !ruby/object:Gem::Requirement
18
18
  none: false
19
19
  requirements:
20
20
  - - ! '>='
@@ -22,10 +22,10 @@ dependencies:
22
22
  version: 3.0.1
23
23
  type: :runtime
24
24
  prerelease: false
25
- version_requirements: *881856320
25
+ version_requirements: *70238708982740
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: cancan
28
- requirement: &881855990 !ruby/object:Gem::Requirement
28
+ requirement: &70238708981980 !ruby/object:Gem::Requirement
29
29
  none: false
30
30
  requirements:
31
31
  - - ! '>='
@@ -33,10 +33,10 @@ dependencies:
33
33
  version: '1.4'
34
34
  type: :runtime
35
35
  prerelease: false
36
- version_requirements: *881855990
36
+ version_requirements: *70238708981980
37
37
  - !ruby/object:Gem::Dependency
38
38
  name: sugar-high
39
- requirement: &881855650 !ruby/object:Gem::Requirement
39
+ requirement: &70238708981400 !ruby/object:Gem::Requirement
40
40
  none: false
41
41
  requirements:
42
42
  - - ! '>='
@@ -44,10 +44,10 @@ dependencies:
44
44
  version: 0.6.0
45
45
  type: :runtime
46
46
  prerelease: false
47
- version_requirements: *881855650
47
+ version_requirements: *70238708981400
48
48
  - !ruby/object:Gem::Dependency
49
49
  name: sweetloader
50
- requirement: &881855280 !ruby/object:Gem::Requirement
50
+ requirement: &70238708980740 !ruby/object:Gem::Requirement
51
51
  none: false
52
52
  requirements:
53
53
  - - ~>
@@ -55,10 +55,10 @@ dependencies:
55
55
  version: 0.1.0
56
56
  type: :runtime
57
57
  prerelease: false
58
- version_requirements: *881855280
58
+ version_requirements: *70238708980740
59
59
  - !ruby/object:Gem::Dependency
60
60
  name: hashie
61
- requirement: &881854930 !ruby/object:Gem::Requirement
61
+ requirement: &70238708980140 !ruby/object:Gem::Requirement
62
62
  none: false
63
63
  requirements:
64
64
  - - ! '>='
@@ -66,10 +66,10 @@ dependencies:
66
66
  version: '0'
67
67
  type: :runtime
68
68
  prerelease: false
69
- version_requirements: *881854930
69
+ version_requirements: *70238708980140
70
70
  - !ruby/object:Gem::Dependency
71
71
  name: rspec-rails
72
- requirement: &881854480 !ruby/object:Gem::Requirement
72
+ requirement: &70238708979540 !ruby/object:Gem::Requirement
73
73
  none: false
74
74
  requirements:
75
75
  - - ! '>='
@@ -77,10 +77,10 @@ dependencies:
77
77
  version: 2.6.1
78
78
  type: :development
79
79
  prerelease: false
80
- version_requirements: *881854480
80
+ version_requirements: *70238708979540
81
81
  - !ruby/object:Gem::Dependency
82
82
  name: forgery
83
- requirement: &881853830 !ruby/object:Gem::Requirement
83
+ requirement: &70238708978940 !ruby/object:Gem::Requirement
84
84
  none: false
85
85
  requirements:
86
86
  - - ! '>='
@@ -88,10 +88,10 @@ dependencies:
88
88
  version: '0.3'
89
89
  type: :development
90
90
  prerelease: false
91
- version_requirements: *881853830
91
+ version_requirements: *70238708978940
92
92
  - !ruby/object:Gem::Dependency
93
93
  name: factory_girl
94
- requirement: &881853470 !ruby/object:Gem::Requirement
94
+ requirement: &70238708978340 !ruby/object:Gem::Requirement
95
95
  none: false
96
96
  requirements:
97
97
  - - ! '>='
@@ -99,10 +99,10 @@ dependencies:
99
99
  version: '0'
100
100
  type: :development
101
101
  prerelease: false
102
- version_requirements: *881853470
102
+ version_requirements: *70238708978340
103
103
  - !ruby/object:Gem::Dependency
104
104
  name: sqlite3
105
- requirement: &881853030 !ruby/object:Gem::Requirement
105
+ requirement: &70238708977740 !ruby/object:Gem::Requirement
106
106
  none: false
107
107
  requirements:
108
108
  - - ! '>='
@@ -110,10 +110,10 @@ dependencies:
110
110
  version: '0'
111
111
  type: :development
112
112
  prerelease: false
113
- version_requirements: *881853030
113
+ version_requirements: *70238708977740
114
114
  - !ruby/object:Gem::Dependency
115
115
  name: rspec
116
- requirement: &881852620 !ruby/object:Gem::Requirement
116
+ requirement: &70238708977020 !ruby/object:Gem::Requirement
117
117
  none: false
118
118
  requirements:
119
119
  - - ! '>='
@@ -121,10 +121,10 @@ dependencies:
121
121
  version: 2.6.0
122
122
  type: :development
123
123
  prerelease: false
124
- version_requirements: *881852620
124
+ version_requirements: *70238708977020
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: jeweler
127
- requirement: &881852060 !ruby/object:Gem::Requirement
127
+ requirement: &70238708976200 !ruby/object:Gem::Requirement
128
128
  none: false
129
129
  requirements:
130
130
  - - ! '>='
@@ -132,10 +132,10 @@ dependencies:
132
132
  version: 1.6.4
133
133
  type: :development
134
134
  prerelease: false
135
- version_requirements: *881852060
135
+ version_requirements: *70238708976200
136
136
  - !ruby/object:Gem::Dependency
137
137
  name: bundler
138
- requirement: &881851460 !ruby/object:Gem::Requirement
138
+ requirement: &70238708975360 !ruby/object:Gem::Requirement
139
139
  none: false
140
140
  requirements:
141
141
  - - ! '>='
@@ -143,10 +143,10 @@ dependencies:
143
143
  version: 1.1.rc
144
144
  type: :development
145
145
  prerelease: false
146
- version_requirements: *881851460
146
+ version_requirements: *70238708975360
147
147
  - !ruby/object:Gem::Dependency
148
148
  name: rdoc
149
- requirement: &881850810 !ruby/object:Gem::Requirement
149
+ requirement: &70238708974460 !ruby/object:Gem::Requirement
150
150
  none: false
151
151
  requirements:
152
152
  - - ! '>='
@@ -154,10 +154,10 @@ dependencies:
154
154
  version: '0'
155
155
  type: :development
156
156
  prerelease: false
157
- version_requirements: *881850810
157
+ version_requirements: *70238708974460
158
158
  - !ruby/object:Gem::Dependency
159
159
  name: rake
160
- requirement: &881850390 !ruby/object:Gem::Requirement
160
+ requirement: &70238708973400 !ruby/object:Gem::Requirement
161
161
  none: false
162
162
  requirements:
163
163
  - - ! '>='
@@ -165,7 +165,7 @@ dependencies:
165
165
  version: 0.9.2.2
166
166
  type: :development
167
167
  prerelease: false
168
- version_requirements: *881850390
168
+ version_requirements: *70238708973400
169
169
  description: ! 'Define your permission rules as role- or role group specific permits.
170
170
 
171
171
  Integrates well with multiple Devise user acounts.
@@ -192,8 +192,7 @@ files:
192
192
  - lib/cantango/ability.rb
193
193
  - lib/cantango/ability/base.rb
194
194
  - lib/cantango/ability/cache.rb
195
- - lib/cantango/ability/cache/key.rb
196
- - lib/cantango/ability/cached.rb
195
+ - lib/cantango/ability/cache/simple_key.rb
197
196
  - lib/cantango/ability/executor.rb
198
197
  - lib/cantango/ability/executor/base.rb
199
198
  - lib/cantango/ability/executor/cache_mode.rb
@@ -287,7 +286,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
287
286
  version: '0'
288
287
  segments:
289
288
  - 0
290
- hash: -209669203
289
+ hash: -3761620504174853267
291
290
  required_rubygems_version: !ruby/object:Gem::Requirement
292
291
  none: false
293
292
  requirements:
@@ -296,7 +295,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
296
295
  version: '0'
297
296
  requirements: []
298
297
  rubyforge_project:
299
- rubygems_version: 1.8.10
298
+ rubygems_version: 1.8.6
300
299
  signing_key:
301
300
  specification_version: 3
302
301
  summary: CanCan extension with role oriented permission management and more
@@ -1,28 +0,0 @@
1
- module CanTango
2
- module Ability
3
- class Cached < Base
4
- # Equivalent to a CanCan Ability#initialize call
5
- # which executes all the permission logic
6
- def initialize candidate, options = {}
7
- raise "Candidate must be something!" if !candidate
8
- @candidate, @options = candidate, options
9
-
10
- # return if cached_rules?
11
-
12
- clear_rules!
13
- permit_rules
14
-
15
- execute_engines! if engines_on?
16
-
17
- # cache_rules!
18
- end
19
-
20
- def cached?
21
- true
22
- end
23
-
24
- def permit_rules
25
- end
26
- end
27
- end
28
- end