manveru-innate 2009.04.18 → 2009.05
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG +230 -0
- data/MANIFEST +2 -4
- data/Rakefile +6 -2
- data/example/app/whywiki_erb/start.rb +1 -1
- data/innate.gemspec +7 -3
- data/lib/innate.rb +5 -4
- data/lib/innate/action.rb +17 -25
- data/lib/innate/cache.rb +1 -1
- data/lib/innate/cache/drb.rb +5 -5
- data/lib/innate/cache/file_based.rb +3 -0
- data/lib/innate/cache/marshal.rb +4 -1
- data/lib/innate/cache/memory.rb +1 -2
- data/lib/innate/cache/yaml.rb +4 -1
- data/lib/innate/current.rb +11 -13
- data/lib/innate/dynamap.rb +5 -0
- data/lib/innate/helper.rb +9 -7
- data/lib/innate/helper/aspect.rb +9 -9
- data/lib/innate/helper/cgi.rb +3 -0
- data/lib/innate/helper/redirect.rb +1 -1
- data/lib/innate/helper/render.rb +68 -7
- data/lib/innate/log/color_formatter.rb +19 -13
- data/lib/innate/node.rb +38 -35
- data/lib/innate/options/dsl.rb +5 -2
- data/lib/innate/request.rb +1 -1
- data/lib/innate/response.rb +1 -0
- data/lib/innate/route.rb +4 -0
- data/lib/innate/session.rb +16 -14
- data/lib/innate/state.rb +10 -11
- data/lib/innate/state/accessor.rb +8 -8
- data/lib/innate/traited.rb +15 -10
- data/lib/innate/version.rb +1 -1
- data/lib/innate/view.rb +41 -4
- data/lib/innate/view/erb.rb +1 -2
- data/lib/innate/view/etanni.rb +9 -12
- data/spec/innate/action/layout.rb +0 -3
- data/spec/innate/helper/flash.rb +0 -3
- data/spec/innate/helper/redirect.rb +11 -0
- data/spec/innate/helper/render.rb +32 -0
- data/spec/innate/node/node.rb +1 -0
- data/spec/innate/options.rb +5 -1
- data/tasks/authors.rake +30 -0
- data/tasks/release.rake +3 -3
- data/tasks/ycov.rake +84 -0
- metadata +16 -9
- data/lib/innate/state/fiber.rb +0 -74
- data/lib/innate/state/thread.rb +0 -47
- data/spec/innate/state/fiber.rb +0 -58
- data/spec/innate/state/thread.rb +0 -40
data/CHANGELOG
CHANGED
@@ -1,3 +1,233 @@
|
|
1
|
+
[9486b35 | Wed May 06 15:37:19 UTC 2009] Michael Fellinger <m.fellinger@gmail.com>
|
2
|
+
|
3
|
+
* VERSION=xxx rake release:xxx
|
4
|
+
|
5
|
+
[14feedf | Wed May 06 15:33:48 UTC 2009] Michael Fellinger <m.fellinger@gmail.com>
|
6
|
+
|
7
|
+
* Bring rakefile up to date
|
8
|
+
|
9
|
+
[2252c28 | Wed May 06 15:20:19 UTC 2009] Michael Fellinger <m.fellinger@gmail.com>
|
10
|
+
|
11
|
+
* Last minute changes to tasks
|
12
|
+
|
13
|
+
[ddc4560 | Wed May 06 15:14:56 UTC 2009] Michael Fellinger <m.fellinger@gmail.com>
|
14
|
+
|
15
|
+
* Add some ycov tasks, not all that tested yet
|
16
|
+
|
17
|
+
[146e349 | Wed May 06 12:56:27 UTC 2009] Michael Fellinger <m.fellinger@gmail.com>
|
18
|
+
|
19
|
+
* raise a more meaningful error when trying to assign to a non-existent option
|
20
|
+
|
21
|
+
[21bbd9b | Tue May 05 06:08:06 UTC 2009] Michael Fellinger <m.fellinger@gmail.com>
|
22
|
+
|
23
|
+
* Remove some (c)
|
24
|
+
|
25
|
+
[8fd62a3 | Tue May 05 04:48:32 UTC 2009] Michael Fellinger <m.fellinger@gmail.com>
|
26
|
+
|
27
|
+
* Make Session compatible with the Rack spec, prepare to make it a middleware
|
28
|
+
|
29
|
+
[a73a54e | Tue May 05 04:37:25 UTC 2009] Michael Fellinger <m.fellinger@gmail.com>
|
30
|
+
|
31
|
+
* Tell people that using YAML/Marshal cache is a bad idea in some cases
|
32
|
+
|
33
|
+
[fff4e2a | Tue May 05 04:30:24 UTC 2009] Michael Fellinger <m.fellinger@gmail.com>
|
34
|
+
|
35
|
+
* Some docs fixes
|
36
|
+
|
37
|
+
[d90138c | Mon May 04 11:19:35 UTC 2009] Ryan Grove <ryan@wonko.com>
|
38
|
+
|
39
|
+
* Add a read_cache option (off by default) to control caching of template files on read
|
40
|
+
|
41
|
+
[aaa9b96 | Sun May 03 04:04:18 UTC 2009] Ryan Grove <ryan@wonko.com>
|
42
|
+
|
43
|
+
* When the view cache is enabled and Innate is in :live mode, cache view files after the first read to prevent unnecessary filesystem reads in the future.
|
44
|
+
|
45
|
+
[06c224f | Mon May 04 16:49:15 UTC 2009] Michael Fellinger <m.fellinger@gmail.com>
|
46
|
+
|
47
|
+
* Fix update_mapping_shared, it would try to walk files and was buggy
|
48
|
+
|
49
|
+
[e3ad651 | Mon May 04 03:28:49 UTC 2009] Michael Fellinger <m.fellinger@gmail.com>
|
50
|
+
|
51
|
+
* remove specs for state
|
52
|
+
|
53
|
+
[f69716d | Sun May 03 17:37:06 UTC 2009] Michael Fellinger <m.fellinger@gmail.com>
|
54
|
+
|
55
|
+
* Implement caching of traits
|
56
|
+
|
57
|
+
[0434785 | Sat May 02 15:56:05 UTC 2009] Michael Fellinger <m.fellinger@gmail.com>
|
58
|
+
|
59
|
+
* Remove useless token from Etanni
|
60
|
+
|
61
|
+
[d0356c6 | Sat May 02 06:05:42 UTC 2009] Michael Fellinger <m.fellinger@gmail.com>
|
62
|
+
|
63
|
+
* Use clearer syntax for the option in view
|
64
|
+
|
65
|
+
[2c3c1ca | Sat May 02 05:40:54 UTC 2009] Michael Fellinger <m.fellinger@gmail.com>
|
66
|
+
|
67
|
+
* Elaborate what +filename+ means
|
68
|
+
|
69
|
+
[12d3666 | Sat May 02 05:40:40 UTC 2009] Michael Fellinger <m.fellinger@gmail.com>
|
70
|
+
|
71
|
+
* Only emit warning when the action is really invalid
|
72
|
+
|
73
|
+
[5cb9b41 | Sat May 02 05:37:25 UTC 2009] Michael Fellinger <m.fellinger@gmail.com>
|
74
|
+
|
75
|
+
* Put the require of find into innate.rb
|
76
|
+
|
77
|
+
[89d5858 | Sat May 02 14:24:30 UTC 2009] Andreas Karlsson <andreas@proxel.se>
|
78
|
+
|
79
|
+
* Simplify copy_variables by not using eval.
|
80
|
+
|
81
|
+
Copying to an instance instead of a binding simplifies
|
82
|
+
the code while also giving a minor performance enhancement
|
83
|
+
as a bonus.
|
84
|
+
|
85
|
+
Signed-off-by: Michael Fellinger <m.fellinger@gmail.com>
|
86
|
+
|
87
|
+
[d1fe1f4 | Sat May 02 14:38:28 UTC 2009] Michael Fellinger <m.fellinger@gmail.com>
|
88
|
+
|
89
|
+
* copy thread variables in Innate::defer
|
90
|
+
|
91
|
+
[83d0a93 | Sat May 02 13:59:52 UTC 2009] Michael Fellinger <m.fellinger@gmail.com>
|
92
|
+
|
93
|
+
* Remove Innate::STATE
|
94
|
+
|
95
|
+
[f9ff691 | Fri May 01 20:04:20 UTC 2009] Andreas Karlsson <andreas@proxel.se>
|
96
|
+
|
97
|
+
* Move require due to profiling results.
|
98
|
+
|
99
|
+
When profiling with ruby-prof it was reveiled to me that a
|
100
|
+
major part of the time was spent inside require. Benchmarking
|
101
|
+
with a simple hello world application revealed it to be about
|
102
|
+
25 percent faster without this require.
|
103
|
+
|
104
|
+
Signed-off-by: Michael Fellinger <m.fellinger@gmail.com>
|
105
|
+
|
106
|
+
[4155ea9 | Fri May 01 15:51:53 UTC 2009] Michael Fellinger <m.fellinger@gmail.com>
|
107
|
+
|
108
|
+
* Only warn if we encounter an invalid action in render_custom, try to render still
|
109
|
+
|
110
|
+
[b4a9e70 | Fri May 01 15:46:49 UTC 2009] Michael Fellinger <m.fellinger@gmail.com>
|
111
|
+
|
112
|
+
* Be compatible with rack-test
|
113
|
+
|
114
|
+
[3db47bc | Fri May 01 15:46:38 UTC 2009] Michael Fellinger <m.fellinger@gmail.com>
|
115
|
+
|
116
|
+
* Be compatible with 1.8
|
117
|
+
|
118
|
+
[b3fb7be | Fri May 01 14:07:10 UTC 2009] Pistos <gitsomegrace.5.pistos@geoshell.com>
|
119
|
+
|
120
|
+
* In render helper: render_template -> render_file . Changed relevant specs, too.
|
121
|
+
|
122
|
+
Signed-off-by: Michael Fellinger <m.fellinger@gmail.com>
|
123
|
+
|
124
|
+
[f3491f7 | Thu Apr 30 04:59:16 UTC 2009] Tadahiko Uehara <kikofx@gmail.com>
|
125
|
+
|
126
|
+
* Skip template/view/layout lookup if the given path doesn't exist.
|
127
|
+
|
128
|
+
|
129
|
+
Signed-off-by: Michael Fellinger <m.fellinger@gmail.com>
|
130
|
+
|
131
|
+
[e4b5388 | Fri May 01 08:30:31 UTC 2009] Michael Fellinger <m.fellinger@gmail.com>
|
132
|
+
|
133
|
+
* We don't want to call Innate::setup_dependencies for rendering...
|
134
|
+
|
135
|
+
[7c90ec0 | Fri May 01 07:22:29 UTC 2009] Michael Fellinger <m.fellinger@gmail.com>
|
136
|
+
|
137
|
+
* Default layout mapping to '/'
|
138
|
+
|
139
|
+
[64517b3 | Fri May 01 07:20:24 UTC 2009] Michael Fellinger <m.fellinger@gmail.com>
|
140
|
+
|
141
|
+
* Add some example invocations to the Helper::Render methods
|
142
|
+
|
143
|
+
[d531f58 | Fri May 01 07:19:39 UTC 2009] Michael Fellinger <m.fellinger@gmail.com>
|
144
|
+
|
145
|
+
* Adding Helper::Render#render_template due to popular demand
|
146
|
+
|
147
|
+
[59229dc | Fri May 01 06:18:39 UTC 2009] Michael Fellinger <m.fellinger@gmail.com>
|
148
|
+
|
149
|
+
* Speed up and simplify Etanni a little bit more
|
150
|
+
|
151
|
+
[d8c3ca5 | Thu Apr 30 09:07:12 UTC 2009] Michael Fellinger <m.fellinger@gmail.com>
|
152
|
+
|
153
|
+
* Add option to switch caching of compiled templates
|
154
|
+
|
155
|
+
[21c4dfd | Thu Apr 30 08:19:24 UTC 2009] Michael Fellinger <m.fellinger@gmail.com>
|
156
|
+
|
157
|
+
* Make Etanni a little bit more compact
|
158
|
+
|
159
|
+
[43f6d76 | Thu Apr 30 08:19:07 UTC 2009] Michael Fellinger <m.fellinger@gmail.com>
|
160
|
+
|
161
|
+
* First cut of template compilation, it's dumb, but it should speed things up a little
|
162
|
+
|
163
|
+
[cca6d4d | Wed Apr 29 14:34:45 UTC 2009] Michael Fellinger <m.fellinger@gmail.com>
|
164
|
+
|
165
|
+
* Improve the ColorFormatter, output background as well
|
166
|
+
|
167
|
+
[abda94c | Wed Apr 29 11:04:43 UTC 2009] Michael Fellinger <m.fellinger@gmail.com>
|
168
|
+
|
169
|
+
* Only add :trigger to options if there is one
|
170
|
+
|
171
|
+
[559e711 | Wed Apr 29 07:51:58 UTC 2009] Michael Fellinger <m.fellinger@gmail.com>
|
172
|
+
|
173
|
+
* Spec cookie setting before redirect. Closes #1
|
174
|
+
|
175
|
+
[9c85a49 | Tue Apr 28 13:05:33 UTC 2009] Michael Fellinger <m.fellinger@gmail.com>
|
176
|
+
|
177
|
+
* Make the template lookup work without globs, hopefully that works on GAE now
|
178
|
+
|
179
|
+
[a0b1f4a | Tue Apr 28 12:41:40 UTC 2009] Michael Fellinger <m.fellinger@gmail.com>
|
180
|
+
|
181
|
+
* Make helper lookup work without glob
|
182
|
+
|
183
|
+
[49ed57b | Tue Apr 28 12:41:28 UTC 2009] Michael Fellinger <m.fellinger@gmail.com>
|
184
|
+
|
185
|
+
* Tell people that routing static files doesn't work
|
186
|
+
|
187
|
+
[ff310ab | Thu Apr 23 15:30:05 UTC 2009] Michael Fellinger <m.fellinger@gmail.com>
|
188
|
+
|
189
|
+
* Avoid issues with symbol comparision on 1.8
|
190
|
+
|
191
|
+
[fce62b9 | Sun Apr 26 16:30:44 UTC 2009] Michael Fellinger <m.fellinger@gmail.com>
|
192
|
+
|
193
|
+
* Support setting multiple AOP hooks at once in before/after/wrap
|
194
|
+
|
195
|
+
[ffd8edd | Sat Apr 25 14:59:47 UTC 2009] Michael Fellinger <m.fellinger@gmail.com>
|
196
|
+
|
197
|
+
* Give innate a rubyforge project
|
198
|
+
|
199
|
+
[cf62a9c | Sat Apr 25 14:59:20 UTC 2009] Michael Fellinger <m.fellinger@gmail.com>
|
200
|
+
|
201
|
+
* Version 2009.04
|
202
|
+
|
203
|
+
[0ec2012 | Thu Apr 23 06:21:17 UTC 2009] Michael Fellinger <m.fellinger@gmail.com>
|
204
|
+
|
205
|
+
* Allow deletion of mapped apps in DynaMap
|
206
|
+
|
207
|
+
[cbedd9c | Thu Apr 23 05:04:04 UTC 2009] Ryan Grove <ryan@wonko.com>
|
208
|
+
|
209
|
+
* Add path and full_path to Innate::Action
|
210
|
+
|
211
|
+
Signed-off-by: Michael Fellinger <m.fellinger@gmail.com>
|
212
|
+
|
213
|
+
[b9a0d4b | Mon Apr 20 05:12:29 UTC 2009] Michael Fellinger <m.fellinger@gmail.com>
|
214
|
+
|
215
|
+
* Make the u and h aliases for the CGI helper module_functions too
|
216
|
+
|
217
|
+
[b68aad4 | Mon Apr 20 05:12:10 UTC 2009] Michael Fellinger <m.fellinger@gmail.com>
|
218
|
+
|
219
|
+
* Allow further modification of the Action in the render_* methods via block
|
220
|
+
|
221
|
+
[dca3531 | Sun Apr 19 23:38:06 UTC 2009] Ryan Grove <ryan@wonko.com>
|
222
|
+
|
223
|
+
* Preserve response headers when redirecting. Closes #1
|
224
|
+
|
225
|
+
Signed-off-by: Michael Fellinger <m.fellinger@gmail.com>
|
226
|
+
|
227
|
+
[d465ca3 | Sat Apr 18 02:46:09 UTC 2009] Michael Fellinger <m.fellinger@gmail.com>
|
228
|
+
|
229
|
+
* Version 2009.04.18
|
230
|
+
|
1
231
|
[987c5d7 | Sat Apr 18 02:44:26 UTC 2009] Michael Fellinger <m.fellinger@gmail.com>
|
2
232
|
|
3
233
|
* Update the release tasks
|
data/MANIFEST
CHANGED
@@ -57,8 +57,6 @@ lib/innate/session/flash.rb
|
|
57
57
|
lib/innate/spec.rb
|
58
58
|
lib/innate/state.rb
|
59
59
|
lib/innate/state/accessor.rb
|
60
|
-
lib/innate/state/fiber.rb
|
61
|
-
lib/innate/state/thread.rb
|
62
60
|
lib/innate/traited.rb
|
63
61
|
lib/innate/trinity.rb
|
64
62
|
lib/innate/version.rb
|
@@ -111,9 +109,8 @@ spec/innate/provides/list.txt.xhtml
|
|
111
109
|
spec/innate/request.rb
|
112
110
|
spec/innate/route.rb
|
113
111
|
spec/innate/session.rb
|
114
|
-
spec/innate/state/fiber.rb
|
115
|
-
spec/innate/state/thread.rb
|
116
112
|
spec/innate/traited.rb
|
113
|
+
tasks/authors.rake
|
117
114
|
tasks/bacon.rake
|
118
115
|
tasks/changelog.rake
|
119
116
|
tasks/gem.rake
|
@@ -125,3 +122,4 @@ tasks/rcov.rake
|
|
125
122
|
tasks/release.rake
|
126
123
|
tasks/reversion.rake
|
127
124
|
tasks/setup.rake
|
125
|
+
tasks/ycov.rake
|
data/Rakefile
CHANGED
@@ -7,6 +7,7 @@ require 'date'
|
|
7
7
|
PROJECT_SPECS = FileList['spec/{innate,example}/**/*.rb'].exclude('common.rb')
|
8
8
|
PROJECT_MODULE = 'Innate'
|
9
9
|
PROJECT_README = 'README.md'
|
10
|
+
PROJECT_VERSION = ENV['VERSION'] || Date.today.strftime('%Y.%m.%d')
|
10
11
|
|
11
12
|
GEMSPEC = Gem::Specification.new{|s|
|
12
13
|
s.name = 'innate'
|
@@ -16,12 +17,15 @@ GEMSPEC = Gem::Specification.new{|s|
|
|
16
17
|
s.email = 'm.fellinger@gmail.com'
|
17
18
|
s.homepage = 'http://github.com/manveru/innate'
|
18
19
|
s.platform = Gem::Platform::RUBY
|
19
|
-
s.version =
|
20
|
+
s.version = PROJECT_VERSION
|
20
21
|
s.files = `git ls-files`.split("\n").sort
|
21
22
|
s.has_rdoc = true
|
22
23
|
s.require_path = 'lib'
|
24
|
+
s.rubyforge_project = "innate"
|
23
25
|
|
24
|
-
|
26
|
+
s.add_dependency('rack', '~> 1.0.0')
|
27
|
+
|
28
|
+
# rip those out if they cause you trouble
|
25
29
|
# s.add_development_dependency('bacon', '>= 1.0')
|
26
30
|
# s.add_development_dependency('json', '~> 1.1.3')
|
27
31
|
# s.add_development_dependency('rack-test', '>= 0.1.0')
|
data/innate.gemspec
CHANGED
@@ -2,17 +2,18 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |s|
|
4
4
|
s.name = %q{innate}
|
5
|
-
s.version = "2009.
|
5
|
+
s.version = "2009.05"
|
6
6
|
|
7
7
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
8
8
|
s.authors = ["Michael 'manveru' Fellinger"]
|
9
|
-
s.date = %q{2009-
|
9
|
+
s.date = %q{2009-05-07}
|
10
10
|
s.description = %q{Simple, straight-forward base for web-frameworks.}
|
11
11
|
s.email = %q{m.fellinger@gmail.com}
|
12
|
-
s.files = ["CHANGELOG", "COPYING", "MANIFEST", "README.md", "Rakefile", "example/app/retro_games.rb", "example/app/todo/layout/default.xhtml", "example/app/todo/spec/todo.rb", "example/app/todo/start.rb", "example/app/todo/view/index.xhtml", "example/app/whywiki_erb/layout/wiki.html.erb", "example/app/whywiki_erb/spec/wiki.rb", "example/app/whywiki_erb/start.rb", "example/app/whywiki_erb/view/edit.erb", "example/app/whywiki_erb/view/index.erb", "example/custom_middleware.rb", "example/hello.rb", "example/howto_spec.rb", "example/link.rb", "example/provides.rb", "example/session.rb", "innate.gemspec", "lib/innate.rb", "lib/innate/action.rb", "lib/innate/adapter.rb", "lib/innate/cache.rb", "lib/innate/cache/api.rb", "lib/innate/cache/drb.rb", "lib/innate/cache/file_based.rb", "lib/innate/cache/marshal.rb", "lib/innate/cache/memory.rb", "lib/innate/cache/yaml.rb", "lib/innate/current.rb", "lib/innate/dynamap.rb", "lib/innate/helper.rb", "lib/innate/helper/aspect.rb", "lib/innate/helper/cgi.rb", "lib/innate/helper/flash.rb", "lib/innate/helper/link.rb", "lib/innate/helper/redirect.rb", "lib/innate/helper/render.rb", "lib/innate/helper/send_file.rb", "lib/innate/log.rb", "lib/innate/log/color_formatter.rb", "lib/innate/log/hub.rb", "lib/innate/middleware_compiler.rb", "lib/innate/mock.rb", "lib/innate/node.rb", "lib/innate/options.rb", "lib/innate/options/dsl.rb", "lib/innate/options/stub.rb", "lib/innate/request.rb", "lib/innate/response.rb", "lib/innate/route.rb", "lib/innate/session.rb", "lib/innate/session/flash.rb", "lib/innate/spec.rb", "lib/innate/state.rb", "lib/innate/state/accessor.rb", "lib/innate/
|
12
|
+
s.files = ["CHANGELOG", "COPYING", "MANIFEST", "README.md", "Rakefile", "example/app/retro_games.rb", "example/app/todo/layout/default.xhtml", "example/app/todo/spec/todo.rb", "example/app/todo/start.rb", "example/app/todo/view/index.xhtml", "example/app/whywiki_erb/layout/wiki.html.erb", "example/app/whywiki_erb/spec/wiki.rb", "example/app/whywiki_erb/start.rb", "example/app/whywiki_erb/view/edit.erb", "example/app/whywiki_erb/view/index.erb", "example/custom_middleware.rb", "example/hello.rb", "example/howto_spec.rb", "example/link.rb", "example/provides.rb", "example/session.rb", "innate.gemspec", "lib/innate.rb", "lib/innate/action.rb", "lib/innate/adapter.rb", "lib/innate/cache.rb", "lib/innate/cache/api.rb", "lib/innate/cache/drb.rb", "lib/innate/cache/file_based.rb", "lib/innate/cache/marshal.rb", "lib/innate/cache/memory.rb", "lib/innate/cache/yaml.rb", "lib/innate/current.rb", "lib/innate/dynamap.rb", "lib/innate/helper.rb", "lib/innate/helper/aspect.rb", "lib/innate/helper/cgi.rb", "lib/innate/helper/flash.rb", "lib/innate/helper/link.rb", "lib/innate/helper/redirect.rb", "lib/innate/helper/render.rb", "lib/innate/helper/send_file.rb", "lib/innate/log.rb", "lib/innate/log/color_formatter.rb", "lib/innate/log/hub.rb", "lib/innate/middleware_compiler.rb", "lib/innate/mock.rb", "lib/innate/node.rb", "lib/innate/options.rb", "lib/innate/options/dsl.rb", "lib/innate/options/stub.rb", "lib/innate/request.rb", "lib/innate/response.rb", "lib/innate/route.rb", "lib/innate/session.rb", "lib/innate/session/flash.rb", "lib/innate/spec.rb", "lib/innate/state.rb", "lib/innate/state/accessor.rb", "lib/innate/traited.rb", "lib/innate/trinity.rb", "lib/innate/version.rb", "lib/innate/view.rb", "lib/innate/view/erb.rb", "lib/innate/view/etanni.rb", "lib/innate/view/none.rb", "spec/example/app/retro_games.rb", "spec/example/hello.rb", "spec/example/link.rb", "spec/example/provides.rb", "spec/example/session.rb", "spec/helper.rb", "spec/innate/action/layout.rb", "spec/innate/action/layout/file_layout.xhtml", "spec/innate/cache/common.rb", "spec/innate/cache/marshal.rb", "spec/innate/cache/memory.rb", "spec/innate/cache/yaml.rb", "spec/innate/dynamap.rb", "spec/innate/helper.rb", "spec/innate/helper/aspect.rb", "spec/innate/helper/cgi.rb", "spec/innate/helper/flash.rb", "spec/innate/helper/link.rb", "spec/innate/helper/redirect.rb", "spec/innate/helper/render.rb", "spec/innate/helper/send_file.rb", "spec/innate/helper/view/aspect_hello.xhtml", "spec/innate/helper/view/locals.xhtml", "spec/innate/helper/view/loop.xhtml", "spec/innate/helper/view/num.xhtml", "spec/innate/helper/view/partial.xhtml", "spec/innate/helper/view/recursive.xhtml", "spec/innate/mock.rb", "spec/innate/node/mapping.rb", "spec/innate/node/node.rb", "spec/innate/node/resolve.rb", "spec/innate/node/view/another_layout/another_layout.xhtml", "spec/innate/node/view/bar.xhtml", "spec/innate/node/view/foo.html.xhtml", "spec/innate/node/view/only_view.xhtml", "spec/innate/node/view/with_layout.xhtml", "spec/innate/node/wrap_action_call.rb", "spec/innate/options.rb", "spec/innate/parameter.rb", "spec/innate/provides.rb", "spec/innate/provides/list.html.xhtml", "spec/innate/provides/list.txt.xhtml", "spec/innate/request.rb", "spec/innate/route.rb", "spec/innate/session.rb", "spec/innate/traited.rb", "tasks/authors.rake", "tasks/bacon.rake", "tasks/changelog.rake", "tasks/gem.rake", "tasks/gem_installer.rake", "tasks/grancher.rake", "tasks/install_dependencies.rake", "tasks/manifest.rake", "tasks/rcov.rake", "tasks/release.rake", "tasks/reversion.rake", "tasks/setup.rake", "tasks/ycov.rake"]
|
13
13
|
s.has_rdoc = true
|
14
14
|
s.homepage = %q{http://github.com/manveru/innate}
|
15
15
|
s.require_paths = ["lib"]
|
16
|
+
s.rubyforge_project = %q{innate}
|
16
17
|
s.rubygems_version = %q{1.3.2}
|
17
18
|
s.summary = %q{Powerful web-framework wrapper for Rack.}
|
18
19
|
|
@@ -21,8 +22,11 @@ Gem::Specification.new do |s|
|
|
21
22
|
s.specification_version = 3
|
22
23
|
|
23
24
|
if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
|
25
|
+
s.add_runtime_dependency(%q<rack>, ["~> 1.0.0"])
|
24
26
|
else
|
27
|
+
s.add_dependency(%q<rack>, ["~> 1.0.0"])
|
25
28
|
end
|
26
29
|
else
|
30
|
+
s.add_dependency(%q<rack>, ["~> 1.0.0"])
|
27
31
|
end
|
28
32
|
end
|
data/lib/innate.rb
CHANGED
@@ -13,14 +13,15 @@ module Innate
|
|
13
13
|
end
|
14
14
|
|
15
15
|
# stdlib
|
16
|
-
require 'pp'
|
17
|
-
require 'set'
|
18
|
-
require 'pathname'
|
19
16
|
require 'digest/sha1'
|
20
17
|
require 'digest/sha2'
|
18
|
+
require 'find'
|
21
19
|
require 'ipaddr'
|
22
|
-
require 'socket'
|
23
20
|
require 'logger'
|
21
|
+
require 'pathname'
|
22
|
+
require 'pp'
|
23
|
+
require 'set'
|
24
|
+
require 'socket'
|
24
25
|
require 'uri'
|
25
26
|
|
26
27
|
# 3rd party
|
data/lib/innate/action.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
module Innate
|
2
2
|
ACTION_MEMBERS = [ :node, :instance, :method, :params, :method_value, :view,
|
3
|
-
:view_value, :layout, :wish, :options, :variables, :engine ]
|
3
|
+
:view_value, :layout, :wish, :options, :variables, :engine, :path ]
|
4
4
|
|
5
5
|
class Action < Struct.new(*ACTION_MEMBERS)
|
6
6
|
# Create a new Action instance.
|
@@ -64,31 +64,16 @@ module Innate
|
|
64
64
|
from_action
|
65
65
|
end
|
66
66
|
|
67
|
-
|
68
|
-
|
69
|
-
instance_variable_set("@#{iv}", value)
|
70
|
-
end'.strip.freeze
|
71
|
-
|
72
|
-
# Copy Action#variables as instance variables into the given binding.
|
73
|
-
#
|
74
|
-
# This relies on Innate::STATE, so should be thread-safe and doesn't depend
|
75
|
-
# on Innate::Current::actions order.
|
76
|
-
# So we avoid nasty business with Objectspace#_id2ref which may not work on
|
77
|
-
# all ruby implementations and seems to cause other problems as well.
|
67
|
+
# Copy Action#variables as instance variables into the given object.
|
68
|
+
# Defaults to copying the variables to self.
|
78
69
|
#
|
79
|
-
# @param [
|
70
|
+
# @param [Object #instance_variable_set] object
|
80
71
|
# @return [NilClass] there is no indication of failure or success
|
81
|
-
# @see
|
72
|
+
# @see Action#render
|
82
73
|
# @author manveru
|
83
|
-
def copy_variables(
|
84
|
-
|
85
|
-
|
86
|
-
STATE.sync do
|
87
|
-
STATE[:action_variables] = self.variables
|
88
|
-
|
89
|
-
eval(COPY_VARIABLES, binding)
|
90
|
-
|
91
|
-
STATE[:action_variables] = nil
|
74
|
+
def copy_variables(object)
|
75
|
+
self.variables.each do |iv, value|
|
76
|
+
object.instance_variable_set("@#{iv}", value)
|
92
77
|
end
|
93
78
|
end
|
94
79
|
|
@@ -97,9 +82,9 @@ module Innate
|
|
97
82
|
self.variables[:content] ||= nil
|
98
83
|
|
99
84
|
instance.wrap_action_call(self) do
|
100
|
-
copy_variables # this might need another position
|
85
|
+
copy_variables(self.instance) # this might need another position
|
101
86
|
self.method_value = instance.__send__(method, *params) if method
|
102
|
-
self.view_value =
|
87
|
+
self.view_value = View.read(view) if view
|
103
88
|
|
104
89
|
body, content_type = wrap_in_layout{
|
105
90
|
engine.call(self, view_value || method_value || '') }
|
@@ -113,6 +98,7 @@ module Innate
|
|
113
98
|
|
114
99
|
action = dup
|
115
100
|
action.view, action.method = layout_view_or_method(*layout)
|
101
|
+
action.params = []
|
116
102
|
action.layout = nil
|
117
103
|
action.view_value = nil
|
118
104
|
action.sync_variables(self)
|
@@ -137,6 +123,12 @@ module Innate
|
|
137
123
|
File.basename((method || view).to_s).split('.').first
|
138
124
|
end
|
139
125
|
|
126
|
+
# Path to this action, including params, with the mapping of the current
|
127
|
+
# controller prepended.
|
128
|
+
def full_path
|
129
|
+
File.join(node.mapping, path)
|
130
|
+
end
|
131
|
+
|
140
132
|
def valid?
|
141
133
|
node.needs_method? ? (method && view) : (method || view)
|
142
134
|
end
|
data/lib/innate/cache.rb
CHANGED
data/lib/innate/cache/drb.rb
CHANGED
@@ -9,8 +9,7 @@ module Innate
|
|
9
9
|
# example below is using a normal Hash, but it is recommended to use a
|
10
10
|
# thread-safe alternative like SyncHash.
|
11
11
|
#
|
12
|
-
#
|
13
|
-
#
|
12
|
+
# @usage example for DRb server
|
14
13
|
# require 'drb'
|
15
14
|
#
|
16
15
|
# URI = "druby://127.0.0.1:9069"
|
@@ -21,12 +20,13 @@ module Innate
|
|
21
20
|
# DRb.start_service(URI, CACHE)
|
22
21
|
# DRb.thread.join
|
23
22
|
#
|
24
|
-
#
|
23
|
+
# Please note that on some Ruby implementations, access to Hash is not
|
24
|
+
# atomic and you might need to lock around access to avoid race conditions.
|
25
25
|
#
|
26
|
+
# @usage for all caches
|
26
27
|
# Innate.options.cache.default = Innate::Cache::DRb
|
27
28
|
#
|
28
|
-
#
|
29
|
-
#
|
29
|
+
# @usage for sessions only
|
30
30
|
# Innate.options.cache.session = Innate::Cache::DRb
|
31
31
|
class DRb
|
32
32
|
include Cache::API
|