innate 2011.12 → 2012.03
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.
- data/.gems +1 -1
- data/AUTHORS +2 -2
- data/CHANGELOG +907 -881
- data/Rakefile +1 -1
- data/innate.gemspec +9 -9
- data/lib/innate/cache.rb +3 -4
- data/lib/innate/helper/link.rb +1 -1
- data/lib/innate/helper/render.rb +1 -1
- data/lib/innate/log/color_formatter.rb +6 -6
- data/lib/innate/middleware_compiler.rb +1 -1
- data/lib/innate/node.rb +14 -10
- data/lib/innate/traited.rb +14 -12
- data/lib/innate/version.rb +1 -1
- data/spec/innate/helper/render.rb +19 -0
- metadata +76 -41
data/Rakefile
CHANGED
data/innate.gemspec
CHANGED
|
@@ -2,35 +2,35 @@
|
|
|
2
2
|
|
|
3
3
|
Gem::Specification.new do |s|
|
|
4
4
|
s.name = "innate"
|
|
5
|
-
s.version = "
|
|
5
|
+
s.version = "2012.03"
|
|
6
6
|
|
|
7
7
|
s.required_rubygems_version = Gem::Requirement.new(">= 1.3.1") if s.respond_to? :required_rubygems_version=
|
|
8
8
|
s.authors = ["Michael 'manveru' Fellinger"]
|
|
9
|
-
s.date = "
|
|
9
|
+
s.date = "2012-03-07"
|
|
10
10
|
s.description = "Simple, straight-forward base for web-frameworks."
|
|
11
11
|
s.email = "m.fellinger@gmail.com"
|
|
12
12
|
s.files = [".gems", ".gitignore", ".load_gemset", ".rvmrc", ".travis.yml", "AUTHORS", "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/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/rack_file_wrapper.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/spec/bacon.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/etanni.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/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/modes.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/cat2/cat22.xhtml", "spec/innate/node/view/cat3/cat33.xhtml", "spec/innate/node/view/foo.html.xhtml", "spec/innate/node/view/only_view.xhtml", "spec/innate/node/view/sub/baz.xhtml", "spec/innate/node/view/sub/foo/baz.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/response.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_setup.rake", "tasks/grancher.rake", "tasks/manifest.rake", "tasks/rcov.rake", "tasks/release.rake", "tasks/reversion.rake", "tasks/setup.rake", "tasks/ycov.rake"]
|
|
13
13
|
s.homepage = "http://github.com/manveru/innate"
|
|
14
14
|
s.require_paths = ["lib"]
|
|
15
15
|
s.rubyforge_project = "innate"
|
|
16
|
-
s.rubygems_version = "1.8.
|
|
16
|
+
s.rubygems_version = "1.8.15"
|
|
17
17
|
s.summary = "Powerful web-framework wrapper for Rack."
|
|
18
18
|
|
|
19
19
|
if s.respond_to? :specification_version then
|
|
20
20
|
s.specification_version = 3
|
|
21
21
|
|
|
22
22
|
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
|
23
|
-
s.add_runtime_dependency(%q<rack>, ["~> 1.4.
|
|
24
|
-
s.add_development_dependency(%q<bacon>, [">= 1.1.0"])
|
|
23
|
+
s.add_runtime_dependency(%q<rack>, ["~> 1.4.1"])
|
|
25
24
|
s.add_development_dependency(%q<rack-test>, [">= 0.6.1"])
|
|
25
|
+
s.add_development_dependency(%q<bacon>, [">= 1.1.0"])
|
|
26
26
|
else
|
|
27
|
-
s.add_dependency(%q<rack>, ["~> 1.4.
|
|
28
|
-
s.add_dependency(%q<bacon>, [">= 1.1.0"])
|
|
27
|
+
s.add_dependency(%q<rack>, ["~> 1.4.1"])
|
|
29
28
|
s.add_dependency(%q<rack-test>, [">= 0.6.1"])
|
|
29
|
+
s.add_dependency(%q<bacon>, [">= 1.1.0"])
|
|
30
30
|
end
|
|
31
31
|
else
|
|
32
|
-
s.add_dependency(%q<rack>, ["~> 1.4.
|
|
33
|
-
s.add_dependency(%q<bacon>, [">= 1.1.0"])
|
|
32
|
+
s.add_dependency(%q<rack>, ["~> 1.4.1"])
|
|
34
33
|
s.add_dependency(%q<rack-test>, [">= 0.6.1"])
|
|
34
|
+
s.add_dependency(%q<bacon>, [">= 1.1.0"])
|
|
35
35
|
end
|
|
36
36
|
end
|
data/lib/innate/cache.rb
CHANGED
|
@@ -102,11 +102,10 @@ module Innate
|
|
|
102
102
|
# @param [Cache] cache
|
|
103
103
|
def self.register(cache)
|
|
104
104
|
key = cache.name.to_s
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
self.class_eval(source, __FILE__, __LINE__)
|
|
105
|
+
return if respond_to?(key) && respond_to?("#{key}=")
|
|
106
|
+
(class << self; self; end).send(:attr_accessor, key)
|
|
108
107
|
|
|
109
|
-
|
|
108
|
+
send("#{key}=", cache)
|
|
110
109
|
end
|
|
111
110
|
|
|
112
111
|
def self.add(*names)
|
data/lib/innate/helper/link.rb
CHANGED
|
@@ -52,7 +52,7 @@ module Innate
|
|
|
52
52
|
# This method is mostly here in case you include this helper elsewhere
|
|
53
53
|
# and don't want (or can't) type SomeNode.r all the time.
|
|
54
54
|
#
|
|
55
|
-
# The usage is identical with {route}.
|
|
55
|
+
# The usage is identical with {Innate::Helper::Link#route}.
|
|
56
56
|
#
|
|
57
57
|
# @param [#to_s] name
|
|
58
58
|
# @return [URI] to the location
|
data/lib/innate/helper/render.rb
CHANGED
|
@@ -134,7 +134,7 @@ module Innate
|
|
|
134
134
|
# @api internal
|
|
135
135
|
# @author manveru
|
|
136
136
|
def render_custom(action_name, variables = {})
|
|
137
|
-
unless action = resolve(action_name.to_s)
|
|
137
|
+
unless action = resolve(action_name.to_s, :needs_method => false)
|
|
138
138
|
raise(ArgumentError, "No Action %p on #{self}" % [action_name])
|
|
139
139
|
end
|
|
140
140
|
|
|
@@ -3,14 +3,14 @@ class Logger
|
|
|
3
3
|
#
|
|
4
4
|
# The basic mapping of ANSI colors is as follows:
|
|
5
5
|
#
|
|
6
|
-
#
|
|
7
|
-
#
|
|
6
|
+
# | reset | bold | dark | underline | blink | negative
|
|
7
|
+
# MOD | 0 | 1 | 2 | 4 | 5 | 7
|
|
8
8
|
#
|
|
9
|
-
#
|
|
10
|
-
#
|
|
11
|
-
#
|
|
9
|
+
# | black | red | green | yellow | blue | magenta | cyan | white
|
|
10
|
+
# FG | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37
|
|
11
|
+
# BG | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47
|
|
12
12
|
#
|
|
13
|
-
# The output is done by:
|
|
13
|
+
# The output is done by: ``\e[#{mod};#{fg};#{bg}m#{string}\e[0m``.
|
|
14
14
|
# The suffix is to reset the terminal to the original state again.
|
|
15
15
|
class ColorFormatter < Formatter
|
|
16
16
|
LEVEL_COLOR = {
|
data/lib/innate/node.rb
CHANGED
|
@@ -13,7 +13,7 @@ module Innate
|
|
|
13
13
|
# scheme.
|
|
14
14
|
#
|
|
15
15
|
# This makes dispatching more fun, avoids a lot of processing that is done by
|
|
16
|
-
#
|
|
16
|
+
# Rack anyway and lets you tailor your application down to the last action
|
|
17
17
|
# exactly the way you want without worrying about side-effects to other
|
|
18
18
|
# {Node}s.
|
|
19
19
|
#
|
|
@@ -269,7 +269,7 @@ module Innate
|
|
|
269
269
|
end
|
|
270
270
|
|
|
271
271
|
# Let's try to find some valid action for given +path+.
|
|
272
|
-
# Otherwise we dispatch to {action_missing}.
|
|
272
|
+
# Otherwise we dispatch to {Innate::Node#action_missing}.
|
|
273
273
|
#
|
|
274
274
|
# @param [String] path from env['PATH_INFO']
|
|
275
275
|
#
|
|
@@ -356,16 +356,18 @@ module Innate
|
|
|
356
356
|
# html.
|
|
357
357
|
#
|
|
358
358
|
# @param [String] path
|
|
359
|
+
# @param [Hash] options
|
|
359
360
|
#
|
|
360
361
|
# @return [nil, Action]
|
|
361
362
|
#
|
|
362
363
|
# @api external
|
|
363
364
|
# @see Node::find_provide Node::update_method_arities Node::find_action
|
|
364
365
|
# @author manveru
|
|
365
|
-
def resolve(path)
|
|
366
|
+
def resolve(path, options = {})
|
|
366
367
|
name, wish, engine = find_provide(path)
|
|
367
368
|
node = (respond_to?(:ancestors) && respond_to?(:new)) ? self : self.class
|
|
368
|
-
action = Action.create(:node => node, :wish => wish, :engine => engine, :path => path)
|
|
369
|
+
action = Action.create(:node => node, :wish => wish, :engine => engine, :path => path, :options => options)
|
|
370
|
+
action.options.key?(:needs_method) || action.options[:needs_method] = node.needs_method?
|
|
369
371
|
|
|
370
372
|
if content_type = node.ancestral_trait["#{wish}_content_type"]
|
|
371
373
|
action.options = {:content_type => content_type}
|
|
@@ -376,7 +378,8 @@ module Innate
|
|
|
376
378
|
node.fill_action(action, name)
|
|
377
379
|
end
|
|
378
380
|
|
|
379
|
-
# Resolve possible provides for the given +path+ from
|
|
381
|
+
# Resolve possible provides for the given +path+ from
|
|
382
|
+
# {Innate::Node#provides}.
|
|
380
383
|
#
|
|
381
384
|
# @param [String] path
|
|
382
385
|
#
|
|
@@ -414,7 +417,7 @@ module Innate
|
|
|
414
417
|
# Action#wish Action#merge!
|
|
415
418
|
# @author manveru
|
|
416
419
|
def fill_action(action, given_name)
|
|
417
|
-
needs_method =
|
|
420
|
+
needs_method = action.options[:needs_method]
|
|
418
421
|
wish = action.wish
|
|
419
422
|
|
|
420
423
|
patterns_for(given_name) do |name, params|
|
|
@@ -558,8 +561,8 @@ module Innate
|
|
|
558
561
|
|
|
559
562
|
# Try to find the best template for the given basename and wish.
|
|
560
563
|
#
|
|
561
|
-
# This method is mostly here for symetry with {to_layout} and
|
|
562
|
-
# overriding the template lookup easily.
|
|
564
|
+
# This method is mostly here for symetry with {Innate::Node#to_layout} and
|
|
565
|
+
# to allow you overriding the template lookup easily.
|
|
563
566
|
#
|
|
564
567
|
# @param [#to_s] action_name
|
|
565
568
|
# @param [#to_s] wish
|
|
@@ -650,7 +653,7 @@ module Innate
|
|
|
650
653
|
# Define a layout to use on this Node.
|
|
651
654
|
#
|
|
652
655
|
# A Node can only have one layout, although the template being chosen can
|
|
653
|
-
# depend on {provides}.
|
|
656
|
+
# depend on {Innate::Node#provides}.
|
|
654
657
|
#
|
|
655
658
|
# @example
|
|
656
659
|
# layout :foo
|
|
@@ -991,7 +994,8 @@ module Innate
|
|
|
991
994
|
ancestral_trait[:needs_method]
|
|
992
995
|
end
|
|
993
996
|
|
|
994
|
-
# This will return true if the only provides set are by
|
|
997
|
+
# This will return true if the only provides set are by
|
|
998
|
+
# {Innate::Node.included}.
|
|
995
999
|
#
|
|
996
1000
|
# The reasoning behind this is to determine whether the user has touched
|
|
997
1001
|
# the provides at all, in which case we will not override the provides in
|
data/lib/innate/traited.rb
CHANGED
|
@@ -47,21 +47,23 @@ module Innate
|
|
|
47
47
|
# Builds a trait from all the ancestors, closer ancestors overwrite distant
|
|
48
48
|
# ancestors
|
|
49
49
|
#
|
|
50
|
-
#
|
|
51
|
-
#
|
|
52
|
-
#
|
|
53
|
-
#
|
|
50
|
+
# @example
|
|
51
|
+
# class Foo
|
|
52
|
+
# include Innate::Traited
|
|
53
|
+
# trait :one => :eins, :first => :erstes
|
|
54
|
+
# end
|
|
54
55
|
#
|
|
55
|
-
#
|
|
56
|
-
#
|
|
57
|
-
#
|
|
56
|
+
# class Bar < Foo
|
|
57
|
+
# trait :two => :zwei
|
|
58
|
+
# end
|
|
58
59
|
#
|
|
59
|
-
#
|
|
60
|
-
#
|
|
61
|
-
#
|
|
60
|
+
# class Foobar < Bar
|
|
61
|
+
# trait :three => :drei, :first => :overwritten
|
|
62
|
+
# end
|
|
62
63
|
#
|
|
63
|
-
#
|
|
64
|
-
#
|
|
64
|
+
# Foobar.ancestral_trait # => {
|
|
65
|
+
# :three => :drei, :two => :zwei, :one => :eins, :first => :overwritten
|
|
66
|
+
# }
|
|
65
67
|
def ancestral_trait
|
|
66
68
|
klass = self.kind_of?(Module) ? self : self.class
|
|
67
69
|
ANCESTRAL_TRAITS[klass] ||=
|
data/lib/innate/version.rb
CHANGED
|
@@ -96,6 +96,21 @@ class SpecHelperRenderFile
|
|
|
96
96
|
end
|
|
97
97
|
end
|
|
98
98
|
|
|
99
|
+
class SpecHelperRenderNeedsMethodView
|
|
100
|
+
Innate.node '/render_needs_method_view'
|
|
101
|
+
map_views '/'
|
|
102
|
+
layout :layout
|
|
103
|
+
trait :needs_method => true
|
|
104
|
+
|
|
105
|
+
def layout
|
|
106
|
+
'{ #{@content} }'
|
|
107
|
+
end
|
|
108
|
+
|
|
109
|
+
def without_method_or_layout
|
|
110
|
+
render_view(:num, :n => 42)
|
|
111
|
+
end
|
|
112
|
+
end
|
|
113
|
+
|
|
99
114
|
describe Innate::Helper::Render do
|
|
100
115
|
describe '#render_full' do
|
|
101
116
|
behaves_like :rack_test
|
|
@@ -139,6 +154,10 @@ describe Innate::Helper::Render do
|
|
|
139
154
|
it 'renders action without calling the method or applying layout' do
|
|
140
155
|
get('/render_view/without_method_or_layout').body.should == '{ 42 }'
|
|
141
156
|
end
|
|
157
|
+
|
|
158
|
+
it 'renders action even when needs_method is true' do
|
|
159
|
+
get('/render_needs_method_view/without_method_or_layout').body.should == '{ 42 }'
|
|
160
|
+
end
|
|
142
161
|
end
|
|
143
162
|
|
|
144
163
|
describe 'misc functionality' do
|
metadata
CHANGED
|
@@ -1,55 +1,78 @@
|
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: innate
|
|
3
|
-
version: !ruby/object:Gem::Version
|
|
4
|
-
|
|
3
|
+
version: !ruby/object:Gem::Version
|
|
4
|
+
hash: 8061
|
|
5
5
|
prerelease:
|
|
6
|
+
segments:
|
|
7
|
+
- 2012
|
|
8
|
+
- 3
|
|
9
|
+
version: "2012.03"
|
|
6
10
|
platform: ruby
|
|
7
|
-
authors:
|
|
11
|
+
authors:
|
|
8
12
|
- Michael 'manveru' Fellinger
|
|
9
13
|
autorequire:
|
|
10
14
|
bindir: bin
|
|
11
15
|
cert_chain: []
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
16
|
+
|
|
17
|
+
date: 2012-03-07 00:00:00 Z
|
|
18
|
+
dependencies:
|
|
19
|
+
- !ruby/object:Gem::Dependency
|
|
15
20
|
name: rack
|
|
16
|
-
|
|
21
|
+
prerelease: false
|
|
22
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
|
17
23
|
none: false
|
|
18
|
-
requirements:
|
|
24
|
+
requirements:
|
|
19
25
|
- - ~>
|
|
20
|
-
- !ruby/object:Gem::Version
|
|
21
|
-
|
|
26
|
+
- !ruby/object:Gem::Version
|
|
27
|
+
hash: 5
|
|
28
|
+
segments:
|
|
29
|
+
- 1
|
|
30
|
+
- 4
|
|
31
|
+
- 1
|
|
32
|
+
version: 1.4.1
|
|
22
33
|
type: :runtime
|
|
34
|
+
version_requirements: *id001
|
|
35
|
+
- !ruby/object:Gem::Dependency
|
|
36
|
+
name: rack-test
|
|
23
37
|
prerelease: false
|
|
24
|
-
|
|
25
|
-
- !ruby/object:Gem::Dependency
|
|
26
|
-
name: bacon
|
|
27
|
-
requirement: &16472000 !ruby/object:Gem::Requirement
|
|
38
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
|
28
39
|
none: false
|
|
29
|
-
requirements:
|
|
30
|
-
- -
|
|
31
|
-
- !ruby/object:Gem::Version
|
|
32
|
-
|
|
40
|
+
requirements:
|
|
41
|
+
- - ">="
|
|
42
|
+
- !ruby/object:Gem::Version
|
|
43
|
+
hash: 5
|
|
44
|
+
segments:
|
|
45
|
+
- 0
|
|
46
|
+
- 6
|
|
47
|
+
- 1
|
|
48
|
+
version: 0.6.1
|
|
33
49
|
type: :development
|
|
50
|
+
version_requirements: *id002
|
|
51
|
+
- !ruby/object:Gem::Dependency
|
|
52
|
+
name: bacon
|
|
34
53
|
prerelease: false
|
|
35
|
-
|
|
36
|
-
- !ruby/object:Gem::Dependency
|
|
37
|
-
name: rack-test
|
|
38
|
-
requirement: &16471480 !ruby/object:Gem::Requirement
|
|
54
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
|
39
55
|
none: false
|
|
40
|
-
requirements:
|
|
41
|
-
- -
|
|
42
|
-
- !ruby/object:Gem::Version
|
|
43
|
-
|
|
56
|
+
requirements:
|
|
57
|
+
- - ">="
|
|
58
|
+
- !ruby/object:Gem::Version
|
|
59
|
+
hash: 19
|
|
60
|
+
segments:
|
|
61
|
+
- 1
|
|
62
|
+
- 1
|
|
63
|
+
- 0
|
|
64
|
+
version: 1.1.0
|
|
44
65
|
type: :development
|
|
45
|
-
|
|
46
|
-
version_requirements: *16471480
|
|
66
|
+
version_requirements: *id003
|
|
47
67
|
description: Simple, straight-forward base for web-frameworks.
|
|
48
68
|
email: m.fellinger@gmail.com
|
|
49
69
|
executables: []
|
|
70
|
+
|
|
50
71
|
extensions: []
|
|
72
|
+
|
|
51
73
|
extra_rdoc_files: []
|
|
52
|
-
|
|
74
|
+
|
|
75
|
+
files:
|
|
53
76
|
- .gems
|
|
54
77
|
- .gitignore
|
|
55
78
|
- .load_gemset
|
|
@@ -189,26 +212,38 @@ files:
|
|
|
189
212
|
- tasks/ycov.rake
|
|
190
213
|
homepage: http://github.com/manveru/innate
|
|
191
214
|
licenses: []
|
|
215
|
+
|
|
192
216
|
post_install_message:
|
|
193
217
|
rdoc_options: []
|
|
194
|
-
|
|
218
|
+
|
|
219
|
+
require_paths:
|
|
195
220
|
- lib
|
|
196
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
|
221
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
|
197
222
|
none: false
|
|
198
|
-
requirements:
|
|
199
|
-
- -
|
|
200
|
-
- !ruby/object:Gem::Version
|
|
201
|
-
|
|
202
|
-
|
|
223
|
+
requirements:
|
|
224
|
+
- - ">="
|
|
225
|
+
- !ruby/object:Gem::Version
|
|
226
|
+
hash: 3
|
|
227
|
+
segments:
|
|
228
|
+
- 0
|
|
229
|
+
version: "0"
|
|
230
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
203
231
|
none: false
|
|
204
|
-
requirements:
|
|
205
|
-
- -
|
|
206
|
-
- !ruby/object:Gem::Version
|
|
232
|
+
requirements:
|
|
233
|
+
- - ">="
|
|
234
|
+
- !ruby/object:Gem::Version
|
|
235
|
+
hash: 25
|
|
236
|
+
segments:
|
|
237
|
+
- 1
|
|
238
|
+
- 3
|
|
239
|
+
- 1
|
|
207
240
|
version: 1.3.1
|
|
208
241
|
requirements: []
|
|
242
|
+
|
|
209
243
|
rubyforge_project: innate
|
|
210
|
-
rubygems_version: 1.8.
|
|
244
|
+
rubygems_version: 1.8.15
|
|
211
245
|
signing_key:
|
|
212
246
|
specification_version: 3
|
|
213
247
|
summary: Powerful web-framework wrapper for Rack.
|
|
214
248
|
test_files: []
|
|
249
|
+
|