manveru-innate 2009.02.06

Sign up to get free protection for your applications and to get access to all the features.
Files changed (101) hide show
  1. data/CHANGELOG +1409 -0
  2. data/COPYING +18 -0
  3. data/MANIFEST +100 -0
  4. data/README.md +485 -0
  5. data/Rakefile +139 -0
  6. data/example/app/retro_games.rb +57 -0
  7. data/example/app/whywiki_erb/layout/wiki.html.erb +15 -0
  8. data/example/app/whywiki_erb/spec/wiki.rb +19 -0
  9. data/example/app/whywiki_erb/start.rb +45 -0
  10. data/example/app/whywiki_erb/view/edit.html.erb +6 -0
  11. data/example/app/whywiki_erb/view/index.html.erb +10 -0
  12. data/example/custom_middleware.rb +43 -0
  13. data/example/error_handling.rb +31 -0
  14. data/example/hello.rb +12 -0
  15. data/example/howto_spec.rb +60 -0
  16. data/example/link.rb +35 -0
  17. data/example/providing_hash.rb +46 -0
  18. data/example/session.rb +42 -0
  19. data/innate.gemspec +118 -0
  20. data/lib/innate.rb +191 -0
  21. data/lib/innate/action.rb +156 -0
  22. data/lib/innate/adapter.rb +89 -0
  23. data/lib/innate/cache.rb +117 -0
  24. data/lib/innate/cache/api.rb +106 -0
  25. data/lib/innate/cache/drb.rb +58 -0
  26. data/lib/innate/cache/file_based.rb +39 -0
  27. data/lib/innate/cache/marshal.rb +17 -0
  28. data/lib/innate/cache/memory.rb +22 -0
  29. data/lib/innate/cache/yaml.rb +17 -0
  30. data/lib/innate/core_compatibility/basic_object.rb +9 -0
  31. data/lib/innate/core_compatibility/string.rb +3 -0
  32. data/lib/innate/current.rb +37 -0
  33. data/lib/innate/dynamap.rb +81 -0
  34. data/lib/innate/helper.rb +195 -0
  35. data/lib/innate/helper/aspect.rb +62 -0
  36. data/lib/innate/helper/cgi.rb +39 -0
  37. data/lib/innate/helper/flash.rb +36 -0
  38. data/lib/innate/helper/link.rb +55 -0
  39. data/lib/innate/helper/partial.rb +90 -0
  40. data/lib/innate/helper/redirect.rb +85 -0
  41. data/lib/innate/helper/send_file.rb +18 -0
  42. data/lib/innate/log.rb +23 -0
  43. data/lib/innate/log/color_formatter.rb +43 -0
  44. data/lib/innate/log/hub.rb +72 -0
  45. data/lib/innate/mock.rb +49 -0
  46. data/lib/innate/node.rb +471 -0
  47. data/lib/innate/options.rb +91 -0
  48. data/lib/innate/options/dsl.rb +155 -0
  49. data/lib/innate/request.rb +165 -0
  50. data/lib/innate/response.rb +18 -0
  51. data/lib/innate/route.rb +109 -0
  52. data/lib/innate/session.rb +104 -0
  53. data/lib/innate/session/flash.rb +94 -0
  54. data/lib/innate/setup.rb +23 -0
  55. data/lib/innate/spec.rb +42 -0
  56. data/lib/innate/state.rb +22 -0
  57. data/lib/innate/state/accessor.rb +130 -0
  58. data/lib/innate/state/fiber.rb +68 -0
  59. data/lib/innate/state/thread.rb +39 -0
  60. data/lib/innate/traited.rb +20 -0
  61. data/lib/innate/trinity.rb +22 -0
  62. data/lib/innate/version.rb +3 -0
  63. data/lib/innate/view.rb +67 -0
  64. data/lib/innate/view/erb.rb +17 -0
  65. data/lib/innate/view/none.rb +9 -0
  66. data/lib/rack/middleware_compiler.rb +62 -0
  67. data/lib/rack/reloader.rb +192 -0
  68. data/spec/example/hello.rb +14 -0
  69. data/spec/example/link.rb +29 -0
  70. data/spec/helper.rb +2 -0
  71. data/spec/innate/cache/common.rb +45 -0
  72. data/spec/innate/cache/marshal.rb +5 -0
  73. data/spec/innate/cache/memory.rb +5 -0
  74. data/spec/innate/cache/yaml.rb +5 -0
  75. data/spec/innate/dynamap.rb +22 -0
  76. data/spec/innate/helper.rb +66 -0
  77. data/spec/innate/helper/aspect.rb +80 -0
  78. data/spec/innate/helper/cgi.rb +37 -0
  79. data/spec/innate/helper/flash.rb +148 -0
  80. data/spec/innate/helper/link.rb +82 -0
  81. data/spec/innate/helper/partial.rb +66 -0
  82. data/spec/innate/helper/redirect.rb +148 -0
  83. data/spec/innate/helper/send_file.rb +21 -0
  84. data/spec/innate/helper/view/aspect_hello.erb +1 -0
  85. data/spec/innate/helper/view/locals.erb +1 -0
  86. data/spec/innate/helper/view/loop.erb +4 -0
  87. data/spec/innate/helper/view/num.erb +1 -0
  88. data/spec/innate/helper/view/partial.erb +1 -0
  89. data/spec/innate/helper/view/recursive.erb +8 -0
  90. data/spec/innate/mock.rb +84 -0
  91. data/spec/innate/node.rb +180 -0
  92. data/spec/innate/node/bar.html +1 -0
  93. data/spec/innate/node/foo.html.erb +1 -0
  94. data/spec/innate/node/with_layout.erb +3 -0
  95. data/spec/innate/options.rb +90 -0
  96. data/spec/innate/parameter.rb +154 -0
  97. data/spec/innate/request.rb +73 -0
  98. data/spec/innate/route.rb +129 -0
  99. data/spec/innate/session.rb +59 -0
  100. data/spec/innate/traited.rb +55 -0
  101. metadata +160 -0
@@ -0,0 +1,59 @@
1
+ require 'spec/helper'
2
+
3
+ class SessionSpec
4
+ include Innate::Node
5
+ map '/'
6
+ provide :html => :none
7
+
8
+ def index
9
+ 'No session here'
10
+ end
11
+
12
+ def init
13
+ session[:counter] = 0
14
+ end
15
+
16
+ def view
17
+ session[:counter]
18
+ end
19
+
20
+ def increment
21
+ session[:counter] += 1
22
+ end
23
+
24
+ def decrement
25
+ session[:counter] -= 1
26
+ end
27
+
28
+ def reset
29
+ session.clear
30
+ end
31
+ end
32
+
33
+ Innate.options.cache.default = Innate::Cache::Memory
34
+
35
+ Innate.setup_dependencies
36
+
37
+ describe 'Innate::Session' do
38
+ should 'initiate session as needed' do
39
+ Innate::Mock.session do |session|
40
+ response = session.get('/')
41
+ response.body.should == 'No session here'
42
+ response['Set-Cookie'].should == nil
43
+
44
+ session.get('/init').body.should == '0'
45
+
46
+ 1.upto(10) do |n|
47
+ session.get('/increment').body.should == n.to_s
48
+ end
49
+
50
+ session.get('/reset')
51
+ session.get('/view').body.should == ''
52
+ session.get('/init').body.should == '0'
53
+
54
+ -1.downto(-10) do |n|
55
+ session.get('/decrement').body.should == n.to_s
56
+ end
57
+ end
58
+ end
59
+ end
@@ -0,0 +1,55 @@
1
+ require 'spec/helper'
2
+
3
+ class Animal
4
+ include Innate::Traited
5
+ end
6
+
7
+ class Cat < Animal
8
+ end
9
+
10
+ class Tiger < Animal
11
+ end
12
+
13
+ describe Innate::Traited do
14
+ should 'set trait on superclass' do
15
+ Animal.trait :wild => :depends
16
+ Animal.trait[:wild].should == :depends
17
+ end
18
+
19
+ should 'reset trait on superclass' do
20
+ Animal.trait :wild => :naturally
21
+ Animal.trait[:wild].should == :naturally
22
+ end
23
+
24
+ should 'set trait on instance' do
25
+ animal = Animal.new
26
+ animal.trait[:wild].should == nil
27
+ animal.trait :wild => :depends
28
+ animal.trait[:wild].should == :depends
29
+ end
30
+
31
+ should 'get ancestral trait from instance' do
32
+ animal = Animal.new
33
+ animal.ancestral_trait[:wild].should == :naturally
34
+ animal.trait :wild => :depends
35
+ animal.ancestral_trait[:wild].should == :depends
36
+ end
37
+
38
+ should 'set trait on subclass' do
39
+ Cat.trait :sound => :meow
40
+ Cat.trait[:sound].should == :meow
41
+ end
42
+
43
+ should 'not modify traits of other classes' do
44
+ Animal.trait[:sound].should == nil
45
+ Tiger.trait[:sound].should == nil
46
+ end
47
+
48
+ should 'get ancestral trait from class in superclass' do
49
+ Cat.ancestral_trait[:wild].should == :naturally
50
+ end
51
+
52
+ should 'get ancestral trait from instance in superclass' do
53
+ Cat.new.ancestral_trait[:wild].should == :naturally
54
+ end
55
+ end
metadata ADDED
@@ -0,0 +1,160 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: manveru-innate
3
+ version: !ruby/object:Gem::Version
4
+ version: 2009.02.06
5
+ platform: ruby
6
+ authors:
7
+ - Michael 'manveru' Fellinger
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+
12
+ date: 2009-02-05 00:00:00 -08:00
13
+ default_executable:
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: rack
17
+ version_requirement:
18
+ version_requirements: !ruby/object:Gem::Requirement
19
+ requirements:
20
+ - - ">="
21
+ - !ruby/object:Gem::Version
22
+ version: 0.4.0
23
+ version:
24
+ description: Simple, straight-forward, base for web-frameworks.
25
+ email: m.fellinger@gmail.com
26
+ executables: []
27
+
28
+ extensions: []
29
+
30
+ extra_rdoc_files: []
31
+
32
+ files:
33
+ - CHANGELOG
34
+ - COPYING
35
+ - MANIFEST
36
+ - README.md
37
+ - Rakefile
38
+ - example/app/retro_games.rb
39
+ - example/app/whywiki_erb/layout/wiki.html.erb
40
+ - example/app/whywiki_erb/spec/wiki.rb
41
+ - example/app/whywiki_erb/start.rb
42
+ - example/app/whywiki_erb/view/edit.html.erb
43
+ - example/app/whywiki_erb/view/index.html.erb
44
+ - example/custom_middleware.rb
45
+ - example/error_handling.rb
46
+ - example/hello.rb
47
+ - example/howto_spec.rb
48
+ - example/link.rb
49
+ - example/providing_hash.rb
50
+ - example/session.rb
51
+ - innate.gemspec
52
+ - lib/innate.rb
53
+ - lib/innate/action.rb
54
+ - lib/innate/adapter.rb
55
+ - lib/innate/cache.rb
56
+ - lib/innate/cache/api.rb
57
+ - lib/innate/cache/drb.rb
58
+ - lib/innate/cache/file_based.rb
59
+ - lib/innate/cache/marshal.rb
60
+ - lib/innate/cache/memory.rb
61
+ - lib/innate/cache/yaml.rb
62
+ - lib/innate/core_compatibility/basic_object.rb
63
+ - lib/innate/core_compatibility/string.rb
64
+ - lib/innate/current.rb
65
+ - lib/innate/dynamap.rb
66
+ - lib/innate/helper.rb
67
+ - lib/innate/helper/aspect.rb
68
+ - lib/innate/helper/cgi.rb
69
+ - lib/innate/helper/flash.rb
70
+ - lib/innate/helper/link.rb
71
+ - lib/innate/helper/partial.rb
72
+ - lib/innate/helper/redirect.rb
73
+ - lib/innate/helper/send_file.rb
74
+ - lib/innate/log.rb
75
+ - lib/innate/log/color_formatter.rb
76
+ - lib/innate/log/hub.rb
77
+ - lib/innate/mock.rb
78
+ - lib/innate/node.rb
79
+ - lib/innate/options.rb
80
+ - lib/innate/options/dsl.rb
81
+ - lib/innate/request.rb
82
+ - lib/innate/response.rb
83
+ - lib/innate/route.rb
84
+ - lib/innate/session.rb
85
+ - lib/innate/session/flash.rb
86
+ - lib/innate/setup.rb
87
+ - lib/innate/spec.rb
88
+ - lib/innate/state.rb
89
+ - lib/innate/state/accessor.rb
90
+ - lib/innate/state/fiber.rb
91
+ - lib/innate/state/thread.rb
92
+ - lib/innate/traited.rb
93
+ - lib/innate/trinity.rb
94
+ - lib/innate/version.rb
95
+ - lib/innate/view.rb
96
+ - lib/innate/view/erb.rb
97
+ - lib/innate/view/none.rb
98
+ - lib/rack/middleware_compiler.rb
99
+ - lib/rack/reloader.rb
100
+ - spec/example/hello.rb
101
+ - spec/example/link.rb
102
+ - spec/helper.rb
103
+ - spec/innate/cache/common.rb
104
+ - spec/innate/cache/marshal.rb
105
+ - spec/innate/cache/memory.rb
106
+ - spec/innate/cache/yaml.rb
107
+ - spec/innate/dynamap.rb
108
+ - spec/innate/helper.rb
109
+ - spec/innate/helper/aspect.rb
110
+ - spec/innate/helper/cgi.rb
111
+ - spec/innate/helper/flash.rb
112
+ - spec/innate/helper/link.rb
113
+ - spec/innate/helper/partial.rb
114
+ - spec/innate/helper/redirect.rb
115
+ - spec/innate/helper/send_file.rb
116
+ - spec/innate/helper/view/aspect_hello.erb
117
+ - spec/innate/helper/view/locals.erb
118
+ - spec/innate/helper/view/loop.erb
119
+ - spec/innate/helper/view/num.erb
120
+ - spec/innate/helper/view/partial.erb
121
+ - spec/innate/helper/view/recursive.erb
122
+ - spec/innate/mock.rb
123
+ - spec/innate/node.rb
124
+ - spec/innate/node/bar.html
125
+ - spec/innate/node/foo.html.erb
126
+ - spec/innate/node/with_layout.erb
127
+ - spec/innate/options.rb
128
+ - spec/innate/parameter.rb
129
+ - spec/innate/request.rb
130
+ - spec/innate/route.rb
131
+ - spec/innate/session.rb
132
+ - spec/innate/traited.rb
133
+ has_rdoc: true
134
+ homepage: http://github.com/manveru/innate
135
+ post_install_message:
136
+ rdoc_options: []
137
+
138
+ require_paths:
139
+ - lib
140
+ required_ruby_version: !ruby/object:Gem::Requirement
141
+ requirements:
142
+ - - ">="
143
+ - !ruby/object:Gem::Version
144
+ version: "0"
145
+ version:
146
+ required_rubygems_version: !ruby/object:Gem::Requirement
147
+ requirements:
148
+ - - ">="
149
+ - !ruby/object:Gem::Version
150
+ version: "0"
151
+ version:
152
+ requirements: []
153
+
154
+ rubyforge_project:
155
+ rubygems_version: 1.2.0
156
+ signing_key:
157
+ specification_version: 2
158
+ summary: Powerful web-framework wrapper for Rack.
159
+ test_files: []
160
+