Capcode 0.9.1 → 0.9.2
Sign up to get free protection for your applications and to get access to all the features.
- data/README.rdoc +7 -2
- data/doc/rdoc/classes/Capcode.html +454 -402
- data/doc/rdoc/classes/Capcode/Configuration.html +21 -21
- data/doc/rdoc/classes/Capcode/Helpers.html +185 -164
- data/doc/rdoc/classes/Capcode/Helpers/Authorization.html +6 -6
- data/doc/rdoc/created.rid +1 -1
- data/doc/rdoc/files/README_rdoc.html +21 -7
- data/doc/rdoc/files/lib/capcode/filters_rb.html +101 -0
- data/doc/rdoc/files/lib/capcode_rb.html +2 -2
- data/doc/rdoc/fr_file_index.html +1 -0
- data/doc/rdoc/fr_method_index.html +13 -12
- data/examples/filter.rb +105 -0
- data/lib/capcode.rb +51 -27
- data/lib/capcode/filters.rb +50 -0
- data/lib/capcode/version.rb +1 -1
- metadata +5 -4
@@ -0,0 +1,50 @@
|
|
1
|
+
module Capcode
|
2
|
+
class << self
|
3
|
+
# Add a before filter :
|
4
|
+
#
|
5
|
+
# module Capcode
|
6
|
+
# before_filter :my_global_action
|
7
|
+
# before_filter :need_login, :except => [:Login]
|
8
|
+
# before_filter :check_mail, :only => [:MailBox]
|
9
|
+
# # ...
|
10
|
+
# end
|
11
|
+
#
|
12
|
+
# If the action return nil, the normal get or post will be executed, else no.
|
13
|
+
#
|
14
|
+
def before_filter( action, opts = {} )
|
15
|
+
Capcode::Filter.filters[action] = { }
|
16
|
+
|
17
|
+
opts.each do |k, v|
|
18
|
+
Capcode::Filter.filters[action][k] = v
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
class Filter #:nodoc:
|
24
|
+
class << self
|
25
|
+
def filters #:nodoc:
|
26
|
+
@filters ||= { }
|
27
|
+
end
|
28
|
+
|
29
|
+
def execute( klass ) #:nodoc:
|
30
|
+
klass_sym = "#{klass.class}".split( /::/)[-1].to_sym
|
31
|
+
actions = []
|
32
|
+
@filters.each do |action, data|
|
33
|
+
if (data[:only] and data[:only].include?(klass_sym)) or
|
34
|
+
(data[:except] and not data[:except].include?(klass_sym)) or
|
35
|
+
(data.keys.size == 0)
|
36
|
+
actions << action
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
klass.class.instance_eval{ include Capcode }
|
41
|
+
rCod = nil
|
42
|
+
actions.each do |a|
|
43
|
+
rCod = klass.send( a )
|
44
|
+
end
|
45
|
+
|
46
|
+
return rCod
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
data/lib/capcode/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: Capcode
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.9.
|
4
|
+
version: 0.9.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- "Gr\xC3\xA9goire Lejeune"
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2010-
|
12
|
+
date: 2010-02-05 00:00:00 +01:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -64,6 +64,7 @@ files:
|
|
64
64
|
- doc/rdoc/files/COPYING.html
|
65
65
|
- doc/rdoc/files/lib/capcode/base/db_rb.html
|
66
66
|
- doc/rdoc/files/lib/capcode/configuration_rb.html
|
67
|
+
- doc/rdoc/files/lib/capcode/filters_rb.html
|
67
68
|
- doc/rdoc/files/lib/capcode/helpers/auth_rb.html
|
68
69
|
- doc/rdoc/files/lib/capcode/render/text_rb.html
|
69
70
|
- doc/rdoc/files/lib/capcode_rb.html
|
@@ -76,6 +77,7 @@ files:
|
|
76
77
|
- lib/capcode/base/db.rb
|
77
78
|
- lib/capcode/configuration.rb
|
78
79
|
- lib/capcode/core_ext.rb
|
80
|
+
- lib/capcode/filters.rb
|
79
81
|
- lib/capcode/helpers/auth.rb
|
80
82
|
- lib/capcode/render/text.rb
|
81
83
|
- lib/capcode/version.rb
|
@@ -86,6 +88,7 @@ files:
|
|
86
88
|
- examples/erb/cf_layout.rhtml
|
87
89
|
- examples/erb/layout.rhtml
|
88
90
|
- examples/erb/m_hello.rhtml
|
91
|
+
- examples/filter.rb
|
89
92
|
- examples/haml/cf.haml
|
90
93
|
- examples/haml/cf_layout.haml
|
91
94
|
- examples/haml/layout.haml
|
@@ -142,8 +145,6 @@ rdoc_options:
|
|
142
145
|
- --quiet
|
143
146
|
- --title
|
144
147
|
- Capcode, the Documentation
|
145
|
-
- --opname
|
146
|
-
- index.html
|
147
148
|
- --line-numbers
|
148
149
|
- --main
|
149
150
|
- README.rdoc
|