manveru-innate 2009.03.24 → 2009.04

Sign up to get free protection for your applications and to get access to all the features.
Files changed (97) hide show
  1. data/CHANGELOG +354 -0
  2. data/MANIFEST +34 -22
  3. data/README.md +2 -10
  4. data/Rakefile +30 -247
  5. data/example/app/retro_games.rb +8 -8
  6. data/example/app/todo/layout/{default.erb → default.xhtml} +1 -1
  7. data/example/app/todo/view/{index.erb → index.xhtml} +11 -11
  8. data/example/app/whywiki_erb/start.rb +2 -1
  9. data/example/app/whywiki_erb/view/{edit.html.erb → edit.erb} +0 -0
  10. data/example/app/whywiki_erb/view/{index.html.erb → index.erb} +0 -0
  11. data/example/howto_spec.rb +1 -1
  12. data/example/provides.rb +9 -6
  13. data/example/session.rb +3 -3
  14. data/innate.gemspec +23 -127
  15. data/lib/innate/action.rb +24 -13
  16. data/lib/innate/adapter.rb +5 -27
  17. data/lib/innate/cache/file_based.rb +2 -0
  18. data/lib/innate/cache.rb +1 -1
  19. data/lib/innate/current.rb +5 -5
  20. data/lib/innate/dynamap.rb +5 -0
  21. data/lib/innate/helper/cgi.rb +32 -19
  22. data/lib/innate/helper/link.rb +2 -2
  23. data/lib/innate/helper/redirect.rb +1 -1
  24. data/lib/innate/helper/render.rb +87 -0
  25. data/lib/innate/helper/send_file.rb +9 -1
  26. data/lib/innate/helper.rb +20 -29
  27. data/lib/innate/log/hub.rb +1 -1
  28. data/lib/innate/middleware_compiler.rb +1 -15
  29. data/lib/innate/mock.rb +2 -3
  30. data/lib/innate/node.rb +85 -55
  31. data/lib/innate/options/dsl.rb +1 -1
  32. data/lib/innate/options.rb +1 -1
  33. data/lib/innate/request.rb +3 -76
  34. data/lib/innate/response.rb +1 -8
  35. data/lib/innate/session.rb +2 -3
  36. data/lib/innate/spec.rb +6 -50
  37. data/lib/innate/version.rb +1 -1
  38. data/lib/innate/view/erb.rb +1 -5
  39. data/lib/innate/view/etanni.rb +36 -0
  40. data/lib/innate/view/none.rb +1 -1
  41. data/lib/innate/view.rb +14 -16
  42. data/lib/innate.rb +27 -53
  43. data/spec/example/app/retro_games.rb +30 -0
  44. data/spec/example/provides.rb +16 -0
  45. data/spec/example/session.rb +8 -14
  46. data/spec/innate/action/layout/file_layout.xhtml +1 -0
  47. data/spec/innate/action/layout.rb +1 -1
  48. data/spec/innate/helper/aspect.rb +6 -6
  49. data/spec/innate/helper/flash.rb +28 -47
  50. data/spec/innate/helper/link.rb +8 -0
  51. data/spec/innate/helper/redirect.rb +58 -43
  52. data/spec/innate/helper/render.rb +133 -0
  53. data/spec/innate/helper/view/aspect_hello.xhtml +1 -0
  54. data/spec/innate/helper/view/locals.xhtml +1 -0
  55. data/spec/innate/helper/view/loop.xhtml +4 -0
  56. data/spec/innate/helper/view/num.xhtml +1 -0
  57. data/spec/innate/helper/view/partial.xhtml +1 -0
  58. data/spec/innate/helper/view/recursive.xhtml +7 -0
  59. data/spec/innate/node/node.rb +5 -13
  60. data/spec/innate/node/view/another_layout/{another_layout.erb → another_layout.xhtml} +1 -1
  61. data/spec/innate/node/view/{bar.erb → bar.xhtml} +0 -0
  62. data/spec/innate/node/view/foo.html.xhtml +1 -0
  63. data/spec/innate/node/view/{only_view.erb → only_view.xhtml} +0 -0
  64. data/spec/innate/node/view/with_layout.xhtml +1 -0
  65. data/spec/innate/provides/list.html.xhtml +1 -0
  66. data/spec/innate/provides/list.txt.xhtml +1 -0
  67. data/spec/innate/provides.rb +2 -2
  68. data/spec/innate/request.rb +0 -9
  69. data/spec/innate/session.rb +14 -15
  70. data/spec/innate/state/fiber.rb +8 -7
  71. data/tasks/bacon.rake +66 -0
  72. data/tasks/changelog.rake +18 -0
  73. data/tasks/gem.rake +22 -0
  74. data/tasks/gem_installer.rake +76 -0
  75. data/tasks/grancher.rake +12 -0
  76. data/tasks/install_dependencies.rake +4 -0
  77. data/tasks/manifest.rake +4 -0
  78. data/tasks/rcov.rake +19 -0
  79. data/tasks/release.rake +51 -0
  80. data/tasks/reversion.rake +8 -0
  81. data/tasks/setup.rake +28 -0
  82. metadata +41 -38
  83. data/lib/innate/core_compatibility/basic_object.rb +0 -10
  84. data/lib/innate/core_compatibility/string.rb +0 -3
  85. data/lib/innate/helper/partial.rb +0 -93
  86. data/spec/innate/action/layout/file_layout.erb +0 -1
  87. data/spec/innate/helper/partial.rb +0 -101
  88. data/spec/innate/helper/view/aspect_hello.erb +0 -1
  89. data/spec/innate/helper/view/locals.erb +0 -1
  90. data/spec/innate/helper/view/loop.erb +0 -4
  91. data/spec/innate/helper/view/num.erb +0 -1
  92. data/spec/innate/helper/view/partial.erb +0 -1
  93. data/spec/innate/helper/view/recursive.erb +0 -8
  94. data/spec/innate/node/view/foo.html.erb +0 -1
  95. data/spec/innate/node/view/with_layout.erb +0 -1
  96. data/spec/innate/provides/list.html.erb +0 -1
  97. data/spec/innate/provides/list.txt.erb +0 -1
data/Rakefile CHANGED
@@ -1,251 +1,34 @@
1
- require 'rake/rdoctask'
1
+ require 'rake'
2
2
  require 'rake/clean'
3
+ require 'rake/gempackagetask'
3
4
  require 'time'
4
5
  require 'date'
5
- require 'pp'
6
6
 
7
- INNATE_VERSION = Date.today.strftime("%Y.%m.%d")
8
-
9
- task :default => [:spec]
10
- task :publish => [:ydoc]
11
-
12
- CLEAN.include('*coverage*')
13
-
14
- desc 'update lib/innate/version.rb'
15
- task :reversion do
16
- File.open('lib/innate/version.rb', 'w+') do |file|
17
- file.puts('module Innate')
18
- file.puts(' VERSION = %p' % INNATE_VERSION)
19
- file.puts('end')
20
- end
21
- end
22
-
23
- desc 'publish to github'
24
- task :release => [:reversion, :gemspec] do
25
- sh('git add MANIFEST CHANGELOG innate.gemspec lib/innate/version.rb')
26
- puts "I added the relevant files, you can now run:", ''
27
- puts "git commit -m 'Version #{INNATE_VERSION}'"
28
- puts "git tag -a -m '#{INNATE_VERSION}' '#{INNATE_VERSION}'"
29
- puts "git push"
30
- puts
31
- end
32
-
33
- desc 'update manifest'
34
- task :manifest do
35
- File.open('MANIFEST', 'w+') do|manifest|
36
- manifest.puts(`git ls-files`)
37
- end
38
- end
39
-
40
- desc 'update changelog'
41
- task :changelog do
42
- File.open('CHANGELOG', 'w+') do |changelog|
43
- `git log -z --abbrev-commit`.split("\0").each do |commit|
44
- next if commit =~ /^Merge: \d*/
45
- ref, author, time, _, title, _, message = commit.split("\n", 7)
46
- ref = ref[/commit ([0-9a-f]+)/, 1]
47
- author = author[/Author: (.*)/, 1].strip
48
- time = Time.parse(time[/Date: (.*)/, 1]).utc
49
- title.strip!
50
-
51
- changelog.puts "[#{ref} | #{time}] #{author}"
52
- changelog.puts '', " * #{title}"
53
- changelog.puts '', message.rstrip if message
54
- changelog.puts
55
- end
56
- end
57
- end
58
-
59
- desc 'generate gemspec'
60
- task :gemspec => [:manifest, :changelog] do
61
- manifest = File.read('MANIFEST').split("\n")
62
- files = manifest.map{|file| " %p," % file }.join("\n")[0..-2]
63
-
64
- gemspec = <<-GEMSPEC
65
- Gem::Specification.new do |s|
66
- s.name = "innate"
67
- s.version = #{INNATE_VERSION.dump}
68
-
69
- s.summary = "Powerful web-framework wrapper for Rack."
70
- s.description = "Simple, straight-forward, base for web-frameworks."
71
- s.platform = "ruby"
72
- s.has_rdoc = true
73
- s.author = "Michael 'manveru' Fellinger"
74
- s.email = "m.fellinger@gmail.com"
75
- s.homepage = "http://github.com/manveru/innate"
76
- s.require_path = "lib"
77
-
78
- s.add_dependency('rack', '>= 0.9.1')
79
-
80
- s.files = [
81
- #{files}
82
- ]
83
- end
84
- GEMSPEC
85
-
86
- File.open('innate.gemspec', 'w+'){|gs| gs.puts(gemspec) }
87
- end
88
-
89
- desc 'code coverage'
90
- task :rcov => :clean do
91
- specs = Dir['spec/innate/**/*.rb']
92
- specs -= Dir['spec/innate/cache/common.rb']
93
-
94
- # we ignore adapter as this has extensive specs in rack already.
95
- ignore = %w[ gem rack bacon innate/adapter\.rb ]
96
- ignore << 'fiber\.rb' if RUBY_VERSION < '1.9'
97
-
98
- ignored = ignore.join(',')
99
-
100
- cmd = "rcov --aggregate coverage.data --sort coverage -t --%s -x '#{ignored}' %s"
101
-
102
- while spec = specs.shift
103
- puts '', "Gather coverage for #{spec} ..."
104
- html = specs.empty? ? 'html' : 'no-html'
105
- sh(cmd % [html, spec])
106
- end
107
- end
108
-
109
- desc 'Run all specs'
110
- task :spec => :setup do
111
- require 'open3'
112
- require 'scanf'
113
-
114
- specs = Dir['spec/{innate,example}/**/*.rb']
115
- specs.delete_if{|f| f =~ /cache\/common\.rb/ }
116
-
117
- some_failed = false
118
- total = specs.size
119
- len = specs.map{|s| s.size }.sort.last
120
- tt = ta = tf = te = 0
121
-
122
- red, yellow, green = "\e[31m%s\e[0m", "\e[33m%s\e[0m", "\e[32m%s\e[0m"
123
- left_format = "%4d/%d: %-#{len + 11}s"
124
- spec_format = "%d specifications (%d requirements), %d failures, %d errors"
125
-
126
- specs.each_with_index do |spec, idx|
127
- print(left_format % [idx + 1, total, spec])
128
-
129
- Open3.popen3(RUBY, spec) do |sin, sout, serr|
130
- out = sout.read
131
- err = serr.read
132
-
133
- ran = false
134
-
135
- out.each_line do |line|
136
- tests, assertions, failures, errors = all = line.scanf(spec_format)
137
- next unless all.any?
138
- ran = true
139
- tt += tests; ta += assertions; tf += failures; te += errors
140
-
141
- if tests == 0 || failures + errors > 0
142
- puts((red % spec_format) % all)
143
- puts out
144
- puts err
145
- else
146
- puts((green % "%6d passed") % tests)
147
- end
148
-
149
- break
150
- end
151
-
152
- puts(yellow % " skipped") unless ran
153
- end
154
- end
155
-
156
- puts(spec_format % [tt, ta, tf, te])
157
- exit 1 if some_failed
158
- end
159
-
160
- desc 'Generate YARD documentation'
161
- task :ydoc do
162
- sh('yardoc -o ydoc -r README.md')
163
- end
164
-
165
- begin
166
- require 'grancher/task'
167
-
168
- Grancher::Task.new do |g|
169
- g.branch = 'gh-pages'
170
- g.push_to = 'origin'
171
- g.message = 'Updated website'
172
- g.directory 'ydoc', 'doc'
173
- end
174
- rescue LoadError
175
- # oh well :)
176
- end
177
-
178
- desc 'install dependencies'
179
- task :setup do
180
- GemSetup.new do
181
- gem('rack', '>=0.9.1')
182
- gem('bacon', '>=1.1.0')
183
-
184
- setup
185
- end
186
- end
187
-
188
- class GemSetup
189
- def initialize(options = {}, &block)
190
- @gems = []
191
- @options = options
192
-
193
- run(&block)
194
- end
195
-
196
- def run(&block)
197
- instance_eval(&block) if block_given?
198
- end
199
-
200
- def gem(name, version = nil, options = {})
201
- if version.respond_to?(:merge!)
202
- options = version
203
- else
204
- options[:version] = version
205
- end
206
-
207
- @gems << [name, options]
208
- end
209
-
210
- def setup
211
- require 'rubygems'
212
- require 'rubygems/dependency_installer'
213
-
214
- @gems.each do |name, options|
215
- setup_gem(name, options)
216
- end
217
- end
218
-
219
- def setup_gem(name, options, try_install = true)
220
- print "activating #{name} ... "
221
- Gem.activate(name, *[options[:version]].compact)
222
- require(options[:lib] || name)
223
- puts "success."
224
- rescue LoadError => error
225
- puts error
226
- install_gem(name, options) if try_install
227
- setup_gem(name, options, try_install = false)
228
- end
229
-
230
- def install_gem(name, options)
231
- installer = Gem::DependencyInstaller.new(options)
232
-
233
- temp_argv(options[:extconf]) do
234
- print "Installing #{name} ... "
235
- installer.install(name, options[:version])
236
- puts "done."
237
- end
238
- end
239
-
240
- def temp_argv(extconf)
241
- if extconf ||= @options[:extconf]
242
- old_argv = ARGV.clone
243
- ARGV.replace(extconf.split(' '))
244
- end
245
-
246
- yield
247
-
248
- ensure
249
- ARGV.replace(old_argv) if extconf
250
- end
251
- end
7
+ PROJECT_SPECS = FileList['spec/{innate,example}/**/*.rb'].exclude('common.rb')
8
+ PROJECT_MODULE = 'Innate'
9
+ PROJECT_README = 'README.md'
10
+
11
+ GEMSPEC = Gem::Specification.new{|s|
12
+ s.name = 'innate'
13
+ s.author = "Michael 'manveru' Fellinger"
14
+ s.summary = "Powerful web-framework wrapper for Rack."
15
+ s.description = "Simple, straight-forward base for web-frameworks."
16
+ s.email = 'm.fellinger@gmail.com'
17
+ s.homepage = 'http://github.com/manveru/innate'
18
+ s.platform = Gem::Platform::RUBY
19
+ s.version = (ENV['PROJECT_VERSION'] || Date.today.strftime("%Y.%m.%d"))
20
+ s.files = `git ls-files`.split("\n").sort
21
+ s.has_rdoc = true
22
+ s.require_path = 'lib'
23
+
24
+ # s.add_runtime_dependency('rack', '>= 0.9.1') # lies!
25
+ # s.add_development_dependency('bacon', '>= 1.0')
26
+ # s.add_development_dependency('json', '~> 1.1.3')
27
+ # s.add_development_dependency('rack-test', '>= 0.1.0')
28
+ }
29
+
30
+ Dir['tasks/*.rake'].each{|f| import(f) }
31
+
32
+ task :default => [:bacon]
33
+
34
+ CLEAN.include('')
@@ -25,36 +25,36 @@ class Games
25
25
  end
26
26
 
27
27
  def vote(name)
28
- STORE[url_decode(name)] += 1
28
+ STORE[name] += 1
29
29
 
30
30
  redirect_referrer
31
31
  end
32
32
 
33
33
  TEMPLATE = <<-'T'.strip
34
34
  <?xml version='1.0' encoding='utf-8' ?>
35
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
35
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
36
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
36
37
  <html>
37
38
  <head>
38
39
  <title>Top Retro Games</title>
39
40
  </head>
40
41
  <body>
41
42
  <h1>Vote on your favorite Retro Game</h1>
42
- <form action="<%= r :create %>" method="post">
43
+ <form action="#{ r(:create) }" method="post">
43
44
  <input type="text" name="name" />
44
45
  <input type="submit" value="Add" />
45
46
  </form>
46
47
  <ol>
47
- <% STORE.each do |name, votes| %>
48
+ <?r STORE.each do |name, votes| ?>
48
49
  <li>
49
- <%= Games.a("Vote", "/vote/#{u name}") %>
50
- <%= "%5d => %s" % [votes, name] %>
50
+ #{ a("Vote", r(:vote, u(name))) }
51
+ #{ h "%5d => %s" % [votes, name] }
51
52
  </li>
52
- <% end %>
53
+ <?r end ?>
53
54
  </ol>
54
55
  </body>
55
56
  </html>
56
57
  T
57
-
58
58
  end
59
59
 
60
60
  Innate.start
@@ -6,6 +6,6 @@
6
6
  </head>
7
7
  <body>
8
8
  <h1>Organize your life and learn Innate</h1>
9
- <%= @content %>
9
+ #{ @content }
10
10
  </body>
11
11
  </html>
@@ -1,4 +1,4 @@
1
- <form method="post" action="<%= r :create %>">
1
+ <form method="post" action="#{ r :create }">
2
2
  <fieldset>
3
3
  <legend>Create new task</legend>
4
4
 
@@ -10,30 +10,30 @@
10
10
  </form>
11
11
 
12
12
  <table>
13
- <% @list.each do |title, done| %>
13
+ <?r @list.each do |title, done| ?>
14
14
  <tr>
15
- <form method="post" action="<%= r :update %>">
16
- <input type="hidden" name="id" value="<%= h title %>" />
15
+ <form method="post" action="#{ r :update }">
16
+ <input type="hidden" name="id" value="#{ h title }" />
17
17
  <td>
18
- <input type="text" name="title" value="<%= h title %>" />
18
+ <input type="text" name="title" value="#{ h title }" />
19
19
  </td>
20
20
  <td>
21
- <% if done %>
21
+ <?r if done ?>
22
22
  <input type="checkbox" name="done" checked="checked" />
23
- <% else %>
23
+ <?r else ?>
24
24
  <input type="checkbox" name="done" />
25
- <% end %>
25
+ <?r end ?>
26
26
  </td>
27
27
  <td>
28
28
  <input type="submit" value="Update" />
29
29
  </td>
30
30
  </form>
31
- <form method="post" action="<%= r :delete %>">
32
- <input type="hidden" name="id" value="<%= h title %>" />
31
+ <form method="post" action="#{ r :delete }">
32
+ <input type="hidden" name="id" value="#{ h title }" />
33
33
  <td>
34
34
  <input type="submit" value="Delete" />
35
35
  </td>
36
36
  </form>
37
37
  </tr>
38
- <% end %>
38
+ <?r end ?>
39
39
  </table>
@@ -7,6 +7,7 @@ DB = YAML::Store.new('wiki.yaml') unless defined?(DB)
7
7
  class Wiki
8
8
  Innate.node '/'
9
9
  layout 'wiki'
10
+ provide :html, :engine => :ERB
10
11
 
11
12
  def index(page = 'Home')
12
13
  @page = page
@@ -38,4 +39,4 @@ class Wiki
38
39
  end
39
40
  end
40
41
 
41
- Innate.start :adapter => :mongrel
42
+ Innate.start
@@ -26,7 +26,7 @@ describe 'An example spec' do
26
26
  got['Content-Type'].should == 'text/html'
27
27
  end
28
28
 
29
- should 'respond to /' do
29
+ should 'respond to /foo' do
30
30
  got = get('/foo')
31
31
  got.status.should == 200
32
32
  got.body.should == "I should be at /foo"
data/example/provides.rb CHANGED
@@ -1,5 +1,6 @@
1
1
  require 'rubygems'
2
2
  require 'innate'
3
+ require 'yaml'
3
4
 
4
5
  ARTICLES = {
5
6
  'hello' => {
@@ -13,15 +14,17 @@ class BlogArticles
13
14
  Innate.node('/')
14
15
 
15
16
  # provide a content representation for requests to /<action>.yaml
17
+ # If you request `/list.yaml`, you will get the `ARTICLES object serialized
18
+ # to YAML.
16
19
  provide(:yaml, :type => 'text/yaml'){|action, value| value.to_yaml }
17
20
 
18
- # the return value of this method is the `value` in the provide above
19
- # Since ruby has implicit returns, `ARTICLES` will be the return value.
20
- #
21
- # If you request `/list.yaml` you will get the `ARTICLES` object serialized
22
- # to YAML.
21
+ # Since there will always be an `html` representation (the default), you have
22
+ # to take care of it. If you simply want to return an empty page, use following.
23
+ provide(:html){|action, value| '' }
24
+
25
+ # The return value of this method is the `value` in the provides above.
23
26
  def list
24
- @articles = ARTICLES
27
+ return ARTICLES
25
28
  end
26
29
  end
27
30
 
data/example/session.rb CHANGED
@@ -11,9 +11,9 @@ class Hello
11
11
  <body>
12
12
  <h1>Session example</h1>
13
13
  <p>
14
- Value is: <%= session[:value] %><br />
15
- <%= a :increment %><br />
16
- <%= a :decrement %>
14
+ Value is: #{ session[:value] }<br />
15
+ #{ a :increment }<br />
16
+ #{ a :decrement }
17
17
  </p>
18
18
  </body>
19
19
  </html>
data/innate.gemspec CHANGED
@@ -1,133 +1,29 @@
1
+ # -*- encoding: utf-8 -*-
2
+
1
3
  Gem::Specification.new do |s|
2
- s.name = "innate"
3
- s.version = "2009.03.24"
4
+ s.name = %q{innate}
5
+ s.version = "2009.04"
4
6
 
5
- s.summary = "Powerful web-framework wrapper for Rack."
6
- s.description = "Simple, straight-forward, base for web-frameworks."
7
- s.platform = "ruby"
7
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
8
+ s.authors = ["Michael 'manveru' Fellinger"]
9
+ s.date = %q{2009-04-25}
10
+ s.description = %q{Simple, straight-forward base for web-frameworks.}
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/state/fiber.rb", "lib/innate/state/thread.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/state/fiber.rb", "spec/innate/state/thread.rb", "spec/innate/traited.rb", "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"]
8
13
  s.has_rdoc = true
9
- s.author = "Michael 'manveru' Fellinger"
10
- s.email = "m.fellinger@gmail.com"
11
- s.homepage = "http://github.com/manveru/innate"
12
- s.require_path = "lib"
14
+ s.homepage = %q{http://github.com/manveru/innate}
15
+ s.require_paths = ["lib"]
16
+ s.rubyforge_project = %q{innate}
17
+ s.rubygems_version = %q{1.3.2}
18
+ s.summary = %q{Powerful web-framework wrapper for Rack.}
13
19
 
14
- s.add_dependency('rack', '>= 0.9.1')
20
+ if s.respond_to? :specification_version then
21
+ current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
22
+ s.specification_version = 3
15
23
 
16
- s.files = [
17
- "CHANGELOG",
18
- "COPYING",
19
- "MANIFEST",
20
- "README.md",
21
- "Rakefile",
22
- "example/app/retro_games.rb",
23
- "example/app/todo/layout/default.erb",
24
- "example/app/todo/spec/todo.rb",
25
- "example/app/todo/start.rb",
26
- "example/app/todo/view/index.erb",
27
- "example/app/whywiki_erb/layout/wiki.html.erb",
28
- "example/app/whywiki_erb/spec/wiki.rb",
29
- "example/app/whywiki_erb/start.rb",
30
- "example/app/whywiki_erb/view/edit.html.erb",
31
- "example/app/whywiki_erb/view/index.html.erb",
32
- "example/custom_middleware.rb",
33
- "example/hello.rb",
34
- "example/howto_spec.rb",
35
- "example/link.rb",
36
- "example/provides.rb",
37
- "example/session.rb",
38
- "innate.gemspec",
39
- "lib/innate.rb",
40
- "lib/innate/action.rb",
41
- "lib/innate/adapter.rb",
42
- "lib/innate/cache.rb",
43
- "lib/innate/cache/api.rb",
44
- "lib/innate/cache/drb.rb",
45
- "lib/innate/cache/file_based.rb",
46
- "lib/innate/cache/marshal.rb",
47
- "lib/innate/cache/memory.rb",
48
- "lib/innate/cache/yaml.rb",
49
- "lib/innate/core_compatibility/basic_object.rb",
50
- "lib/innate/core_compatibility/string.rb",
51
- "lib/innate/current.rb",
52
- "lib/innate/dynamap.rb",
53
- "lib/innate/helper.rb",
54
- "lib/innate/helper/aspect.rb",
55
- "lib/innate/helper/cgi.rb",
56
- "lib/innate/helper/flash.rb",
57
- "lib/innate/helper/link.rb",
58
- "lib/innate/helper/partial.rb",
59
- "lib/innate/helper/redirect.rb",
60
- "lib/innate/helper/send_file.rb",
61
- "lib/innate/log.rb",
62
- "lib/innate/log/color_formatter.rb",
63
- "lib/innate/log/hub.rb",
64
- "lib/innate/middleware_compiler.rb",
65
- "lib/innate/mock.rb",
66
- "lib/innate/node.rb",
67
- "lib/innate/options.rb",
68
- "lib/innate/options/dsl.rb",
69
- "lib/innate/options/stub.rb",
70
- "lib/innate/request.rb",
71
- "lib/innate/response.rb",
72
- "lib/innate/route.rb",
73
- "lib/innate/session.rb",
74
- "lib/innate/session/flash.rb",
75
- "lib/innate/spec.rb",
76
- "lib/innate/state.rb",
77
- "lib/innate/state/accessor.rb",
78
- "lib/innate/state/fiber.rb",
79
- "lib/innate/state/thread.rb",
80
- "lib/innate/traited.rb",
81
- "lib/innate/trinity.rb",
82
- "lib/innate/version.rb",
83
- "lib/innate/view.rb",
84
- "lib/innate/view/erb.rb",
85
- "lib/innate/view/none.rb",
86
- "spec/example/hello.rb",
87
- "spec/example/link.rb",
88
- "spec/example/session.rb",
89
- "spec/helper.rb",
90
- "spec/innate/action/layout.rb",
91
- "spec/innate/action/layout/file_layout.erb",
92
- "spec/innate/cache/common.rb",
93
- "spec/innate/cache/marshal.rb",
94
- "spec/innate/cache/memory.rb",
95
- "spec/innate/cache/yaml.rb",
96
- "spec/innate/dynamap.rb",
97
- "spec/innate/helper.rb",
98
- "spec/innate/helper/aspect.rb",
99
- "spec/innate/helper/cgi.rb",
100
- "spec/innate/helper/flash.rb",
101
- "spec/innate/helper/link.rb",
102
- "spec/innate/helper/partial.rb",
103
- "spec/innate/helper/redirect.rb",
104
- "spec/innate/helper/send_file.rb",
105
- "spec/innate/helper/view/aspect_hello.erb",
106
- "spec/innate/helper/view/locals.erb",
107
- "spec/innate/helper/view/loop.erb",
108
- "spec/innate/helper/view/num.erb",
109
- "spec/innate/helper/view/partial.erb",
110
- "spec/innate/helper/view/recursive.erb",
111
- "spec/innate/mock.rb",
112
- "spec/innate/node/mapping.rb",
113
- "spec/innate/node/node.rb",
114
- "spec/innate/node/resolve.rb",
115
- "spec/innate/node/view/another_layout/another_layout.erb",
116
- "spec/innate/node/view/bar.erb",
117
- "spec/innate/node/view/foo.html.erb",
118
- "spec/innate/node/view/only_view.erb",
119
- "spec/innate/node/view/with_layout.erb",
120
- "spec/innate/node/wrap_action_call.rb",
121
- "spec/innate/options.rb",
122
- "spec/innate/parameter.rb",
123
- "spec/innate/provides.rb",
124
- "spec/innate/provides/list.html.erb",
125
- "spec/innate/provides/list.txt.erb",
126
- "spec/innate/request.rb",
127
- "spec/innate/route.rb",
128
- "spec/innate/session.rb",
129
- "spec/innate/state/fiber.rb",
130
- "spec/innate/state/thread.rb",
131
- "spec/innate/traited.rb"
132
- ]
24
+ if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
25
+ else
26
+ end
27
+ else
28
+ end
133
29
  end