short_stack 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (62) hide show
  1. data/.document +5 -0
  2. data/.gitignore +24 -0
  3. data/Gemfile +13 -0
  4. data/Gemfile.lock +71 -0
  5. data/LICENSE +20 -0
  6. data/README.rdoc +17 -0
  7. data/Rakefile +26 -0
  8. data/VERSION +1 -0
  9. data/lib/pancake/generators/global.rb +2 -0
  10. data/lib/pancake/generators/micro_generator.rb +23 -0
  11. data/lib/pancake/generators/short_generator.rb +23 -0
  12. data/lib/pancake/generators/templates/common/Gemfile +7 -0
  13. data/lib/pancake/generators/templates/common/dotgitignore +22 -0
  14. data/lib/pancake/generators/templates/common/dothtaccess +17 -0
  15. data/lib/pancake/generators/templates/micro/%stack_name%/%stack_name%.rb.tt +9 -0
  16. data/lib/pancake/generators/templates/micro/%stack_name%/Rakefile.tt +40 -0
  17. data/lib/pancake/generators/templates/micro/%stack_name%/config.ru.tt +15 -0
  18. data/lib/pancake/generators/templates/micro/%stack_name%/pancake_init.rb.tt +1 -0
  19. data/lib/pancake/generators/templates/micro/%stack_name%/public/.empty_directory +0 -0
  20. data/lib/pancake/generators/templates/micro/%stack_name%/tmp/.empty_directory +0 -0
  21. data/lib/pancake/generators/templates/micro/%stack_name%/views/layouts/application.html.haml +5 -0
  22. data/lib/pancake/generators/templates/micro/%stack_name%/views/root.html.haml +1 -0
  23. data/lib/pancake/generators/templates/short/%stack_name%/LICENSE.tt +20 -0
  24. data/lib/pancake/generators/templates/short/%stack_name%/README.tt +7 -0
  25. data/lib/pancake/generators/templates/short/%stack_name%/Rakefile.tt +56 -0
  26. data/lib/pancake/generators/templates/short/%stack_name%/VERSION.tt +1 -0
  27. data/lib/pancake/generators/templates/short/%stack_name%/lib/%stack_name%.rb.tt +14 -0
  28. data/lib/pancake/generators/templates/short/%stack_name%/lib/%stack_name%/%stack_name%.rb.tt +6 -0
  29. data/lib/pancake/generators/templates/short/%stack_name%/lib/%stack_name%/config.ru.tt +11 -0
  30. data/lib/pancake/generators/templates/short/%stack_name%/lib/%stack_name%/config/config.rb.tt +23 -0
  31. data/lib/pancake/generators/templates/short/%stack_name%/lib/%stack_name%/config/environments/development.rb.tt +15 -0
  32. data/lib/pancake/generators/templates/short/%stack_name%/lib/%stack_name%/config/environments/production.rb.tt +16 -0
  33. data/lib/pancake/generators/templates/short/%stack_name%/lib/%stack_name%/config/environments/staging.rb.tt +15 -0
  34. data/lib/pancake/generators/templates/short/%stack_name%/lib/%stack_name%/models/.empty_directory +0 -0
  35. data/lib/pancake/generators/templates/short/%stack_name%/lib/%stack_name%/mounts/.empty_directory +0 -0
  36. data/lib/pancake/generators/templates/short/%stack_name%/lib/%stack_name%/public/.empty_directory +0 -0
  37. data/lib/pancake/generators/templates/short/%stack_name%/lib/%stack_name%/tasks/%stack_name%.rake.tt +4 -0
  38. data/lib/pancake/generators/templates/short/%stack_name%/lib/%stack_name%/tmp/.empty_directory +0 -0
  39. data/lib/pancake/generators/templates/short/%stack_name%/lib/%stack_name%/views/layouts/application.html.haml +5 -0
  40. data/lib/pancake/generators/templates/short/%stack_name%/lib/%stack_name%/views/root.html.haml +2 -0
  41. data/lib/pancake/generators/templates/short/%stack_name%/pancake_init.rb.tt +1 -0
  42. data/lib/pancake/generators/templates/short/%stack_name%/spec/%stack_name%_spec.rb.tt +11 -0
  43. data/lib/pancake/generators/templates/short/%stack_name%/spec/spec_helper.rb.tt +13 -0
  44. data/lib/short_stack.rb +213 -0
  45. data/lib/short_stack/controller.rb +185 -0
  46. data/lib/short_stack/default/views/base.html.haml +5 -0
  47. data/lib/short_stack/default/views/error.html.haml +12 -0
  48. data/lib/short_stack/middleware.rb +14 -0
  49. data/short_stack.gemspec +38 -0
  50. data/spec/fixtures/foobar/other_root/views/base.html.haml +4 -0
  51. data/spec/fixtures/foobar/views/basic.html.haml +1 -0
  52. data/spec/fixtures/foobar/views/inherited_from_base.html.haml +5 -0
  53. data/spec/fixtures/foobar/views/template.html.haml +3 -0
  54. data/spec/fixtures/foobar/views/vault.html.haml +3 -0
  55. data/spec/short_stack/controller_spec.rb +444 -0
  56. data/spec/short_stack/middlewares_spec.rb +14 -0
  57. data/spec/short_stack/router_spec.rb +153 -0
  58. data/spec/short_stack/short_stack_spec.rb +122 -0
  59. data/spec/short_stack/stack_spec.rb +124 -0
  60. data/spec/spec.opts +1 -0
  61. data/spec/spec_helper.rb +13 -0
  62. metadata +181 -0
@@ -0,0 +1,14 @@
1
+ require 'spec_helper'
2
+
3
+ describe "short stack middleware" do
4
+ before do
5
+ class ::FooBar < ShortStack
6
+ add_root(__FILE__)
7
+ end
8
+ end
9
+
10
+ after do
11
+ clear_constants :FooBar
12
+ end
13
+
14
+ end
@@ -0,0 +1,153 @@
1
+ require 'spec_helper'
2
+
3
+ describe ShortStack, "routes" do
4
+ before do
5
+ Pancake.stack(:logger).delete!
6
+ class ::RoutedShortStack < ShortStack
7
+ include_pancake_stack!
8
+ roots << Pancake.get_root(__FILE__)
9
+
10
+ get "/", :name => :root do
11
+ "get - /"
12
+ end
13
+
14
+ get "/foo", :name => :foo do
15
+ "get - foo"
16
+ end
17
+
18
+ get "/bar", :name => :bar do
19
+ "get - bar"
20
+ end
21
+
22
+ post "/foo" do
23
+ "post - foo"
24
+ end
25
+
26
+ post "/bar" do
27
+ "post - bar"
28
+ end
29
+
30
+ put "/foo" do
31
+ "put - foo"
32
+ end
33
+
34
+ put "/bar" do
35
+ "put - bar"
36
+ end
37
+
38
+ delete "/foo" do
39
+ "delete - foo"
40
+ end
41
+
42
+ delete "/bar" do
43
+ "delete - bar"
44
+ end
45
+
46
+ any "/any/foo" do
47
+ "any - foo"
48
+ end
49
+
50
+ get "/baz/:var(/:date)" do
51
+ "done: var == #{params[:var]} : date == #{params[:date]}"
52
+ end.name(:baz)
53
+ end
54
+ @app = RoutedShortStack.stackup
55
+ end
56
+ after do
57
+ clear_constants "RoutedShortStack", "FooApp", "BarApp"
58
+ end
59
+
60
+ def app
61
+ @app
62
+ end
63
+
64
+ %w(foo bar).each do |item|
65
+ %w(get post put delete).each do |method|
66
+ it "should #{method} /#{item}" do
67
+ result = self.send(method, "/#{item}")
68
+ result.status.should == 200
69
+ result.body.should == "#{method} - #{item}"
70
+ end
71
+ end # get post put delete
72
+ end # foo bar
73
+
74
+ it "should return a not found if we try to get an action that has not been defined" do
75
+ result = get "/blah"
76
+ result.status.should == 404
77
+ end
78
+
79
+
80
+ it "should handle tricky routes" do
81
+ result = get "/baz/hassox"
82
+ result.status.should == 200
83
+ result.body.should == "done: var == hassox : date == "
84
+ end
85
+
86
+ it "should handle tricky routes with optional parameters" do
87
+ result = get "/baz/hassox/2009-08-21"
88
+ result.status.should == 200
89
+ result.body.should == "done: var == hassox : date == 2009-08-21"
90
+ end
91
+
92
+ it "should handle the any request method" do
93
+ [:get, :post, :put, :delete].each do |meth|
94
+ result = self.send(meth, "/any/foo")
95
+ result.status.should == 200
96
+ result.body.should == "any - foo"
97
+ end
98
+ end
99
+
100
+ describe "url generation" do
101
+ it "should generate a simple named url" do
102
+ Pancake.url(RoutedShortStack, :foo).should == "/foo"
103
+ end
104
+
105
+ it "should generate a complex named url" do
106
+ Pancake.url(RoutedShortStack, :baz, :var => "bar").should == "/baz/bar"
107
+ Pancake.url(RoutedShortStack, :baz, :var => "bar", :date => "today").should == "/baz/bar/today"
108
+ end
109
+
110
+ it "should generate it's url when it's nested" do
111
+ class ::FooApp < Pancake::Stack; end
112
+ RoutedShortStack.include_pancake_stack!(false)
113
+ FooApp.router.mount(RoutedShortStack, "/short/stack")
114
+ FooApp.stackup
115
+ Pancake.url(RoutedShortStack, :foo).should == "/short/stack/foo"
116
+ Pancake.url(RoutedShortStack, :baz, :var => "var", :date => "today").should == "/short/stack/baz/var/today"
117
+ end
118
+ end
119
+
120
+ describe "inherited route generation" do
121
+ before do
122
+ class ::FooApp < RoutedShortStack; end
123
+ @app = FooApp.stackup
124
+ end
125
+
126
+ it "should generate an inherited simple url" do
127
+ Pancake.url(FooApp, :foo).should == "/foo"
128
+ end
129
+
130
+ it "should generate a complex url" do
131
+ Pancake.url(FooApp, :baz, :var => "the_var", :date => "today").should == "/baz/the_var/today"
132
+ end
133
+
134
+ %w(foo bar).each do |item|
135
+ %w(get post put delete).each do |method|
136
+ it "should #{method} /#{item}" do
137
+ result = self.send(method, "/#{item}")
138
+ result.status.should == 200
139
+ result.body.should == "#{method} - #{item}"
140
+ end
141
+ end # get post put delete
142
+ end # foo bar
143
+
144
+ it "should match the nested route without affecting the parent" do
145
+ class ::BarApp < Pancake::Stack; end
146
+ BarApp.router.mount(FooApp, "/mount/point")
147
+ BarApp.router.mount_applications!
148
+
149
+ Pancake.url(FooApp, :foo).should == "/mount/point/foo"
150
+ Pancake.url(RoutedShortStack, :foo).should == "/foo"
151
+ end
152
+ end
153
+ end
@@ -0,0 +1,122 @@
1
+ require 'spec_helper'
2
+
3
+ describe ShortStack do
4
+
5
+ before do
6
+ @master_before = [Pancake.master_stack, Pancake.master_templates]
7
+ $captures = []
8
+ class ::ShortMiddle
9
+ attr_accessor :app
10
+ def initialize(app)
11
+ @app = app
12
+ end
13
+
14
+ def call(env)
15
+ $captures << ShortMiddle
16
+ @app.call(env)
17
+ end
18
+ end
19
+
20
+ class ::ShortFoo < ShortStack
21
+ roots << Pancake.get_root(__FILE__)
22
+ add_root(__FILE__, "..", "fixtures", "foobar")
23
+ add_root(__FILE__, "..", "fixtures", "foobar", "other_root")
24
+ use ShortMiddle
25
+
26
+ get "/foo" do
27
+ "HERE"
28
+ end
29
+
30
+ get "/" do
31
+ $captures << self.class
32
+ render :inherited_from_base
33
+ end
34
+ end
35
+
36
+ @app = ShortFoo
37
+ Pancake.master_stack = ShortFoo
38
+ Pancake.master_templates = ShortFoo
39
+ end
40
+
41
+ after do
42
+ clear_constants :ShortFoo, :ShortMiddle, :OtherFoo, :AnotherFoo, "ShortFoo::Router"
43
+ Pancake.master_stack, Pancake.master_templates = @master_before
44
+ end
45
+
46
+ def app
47
+ @app.stackup
48
+ end
49
+
50
+ it "should provide access through the stack interface to the templates" do
51
+ ShortFoo.template(:inherited_from_base).should be_an_instance_of(Pancake::Mixins::Render::Template)
52
+ end
53
+
54
+ it "should go through the middleware to get to the actions" do
55
+ get "/foo"
56
+ $captures.should == [ShortMiddle]
57
+ end
58
+
59
+ describe "inheritance" do
60
+ before do
61
+ class ::OtherFoo < ShortFoo; end
62
+ class ::AnotherFoo < ShortFoo; end
63
+ AnotherFoo.router.mount(OtherFoo, "/other")
64
+ AnotherFoo.include_pancake_stack!
65
+ end
66
+
67
+ def app
68
+ AnotherFoo.stackup
69
+ end
70
+
71
+ it "should render the same template in the child as it does in the parent" do
72
+ get "/"
73
+ $captures.pop.should == AnotherFoo::Controller
74
+ last_response.should match(/inherited from base/)
75
+ result = get "/other/"
76
+ $captures.pop.should == OtherFoo::Controller
77
+ last_response.should match(/inherited from base/)
78
+ end
79
+ end
80
+
81
+ describe "helpers" do
82
+ before do
83
+ $captures = []
84
+ class ::ShortFoo
85
+ helpers do
86
+ def in_helper?
87
+ $captures << :in_helper?
88
+ end
89
+ end
90
+ end
91
+ end
92
+
93
+ it "should allow me to setup a helper method in the stack" do
94
+ ShortFoo.get("/with_helper"){ in_helper?; "OK" }
95
+ result = get "/with_helper"
96
+ result.should be_successful
97
+ $captures.should include(:in_helper?)
98
+ end
99
+
100
+ it "should provide the helpers in child stacks" do
101
+ class ::OtherFoo < ShortFoo; end
102
+ OtherFoo.get("/helper_action"){ in_helper?; "OK" }
103
+ @app = OtherFoo
104
+ result = get "/helper_action"
105
+ result.should be_successful
106
+ $captures.should include(:in_helper?)
107
+ end
108
+
109
+ it "should let me mixin modules to the helpers" do
110
+ module ::OtherFoo
111
+ def other_helper
112
+ $captures << :other_helper
113
+ end
114
+ end
115
+ ShortFoo.helpers{ include OtherFoo }
116
+ ShortFoo.get("/foo"){ other_helper; "OK" }
117
+ result = get "/foo"
118
+ result.should be_successful
119
+ $captures.should include(:other_helper)
120
+ end
121
+ end
122
+ end
@@ -0,0 +1,124 @@
1
+ require 'spec_helper'
2
+
3
+ describe ShortStack do
4
+ before do
5
+ @master_before = [Pancake.master_stack, Pancake.master_templates]
6
+ $captures = []
7
+ class ::ShortMiddle
8
+ attr_accessor :app
9
+ def initialize(app)
10
+ @app = app
11
+ end
12
+
13
+ def call(env)
14
+ $captures << ShortMiddle
15
+ @app.call(env)
16
+ end
17
+ end
18
+
19
+ class ::ShortFoo < ShortStack
20
+ roots << Pancake.get_root(__FILE__)
21
+ add_root(__FILE__, "..", "fixtures", "foobar")
22
+ add_root(__FILE__, "..", "fixtures", "foobar", "other_root")
23
+ use ShortMiddle
24
+
25
+ get "/foo" do
26
+ "HERE"
27
+ end
28
+
29
+ get "/" do
30
+ $captures << self.class
31
+ render :inherited_from_base
32
+ end
33
+ end
34
+
35
+ @app = ShortFoo
36
+ ShortFoo.include_pancake_stack!
37
+ Pancake.master_stack = ShortFoo
38
+ Pancake.master_templates = ShortFoo
39
+ end
40
+
41
+ after do
42
+ clear_constants :ShortFoo, :ShortMiddle, :OtherFoo, "ShortFoo::Router"
43
+ Pancake.master_stack, Pancake.master_templates = @master_before
44
+ end
45
+
46
+ def app
47
+ @app.stackup
48
+ end
49
+
50
+ it "should provide access through the stack interface to the templates" do
51
+ ShortFoo.template(:inherited_from_base).should be_an_instance_of(Pancake::Mixins::Render::Template)
52
+ end
53
+
54
+ it "should go through the middleware to get to the actions" do
55
+ get "/foo"
56
+ $captures.should == [ShortMiddle]
57
+ end
58
+
59
+ describe "inheritance" do
60
+ before do
61
+ class ::AnotherFoo < ShortFoo; end
62
+ class ::OtherFoo < ShortFoo; end
63
+ AnotherFoo.include_pancake_stack!
64
+ AnotherFoo.router.mount(OtherFoo, "/other")
65
+ end
66
+
67
+ def app
68
+ AnotherFoo.stackup
69
+ end
70
+
71
+ it "should render the same template in the child as it does in the parent" do
72
+ get "/"
73
+ $captures.pop.should == AnotherFoo::Controller
74
+ last_response.should match(/inherited from base/)
75
+ $captures.clear
76
+ result = get "/other/"
77
+ $captures.pop.should == OtherFoo::Controller
78
+ last_response.should match(/inherited from base/)
79
+ end
80
+ end
81
+
82
+ describe "helpers" do
83
+ before do
84
+ $captures = []
85
+ class ::ShortFoo
86
+ helpers do
87
+ def in_helper?
88
+ $captures << :in_helper?
89
+ end
90
+ end
91
+ end
92
+ end
93
+
94
+ it "should allow me to setup a helper method in the stack" do
95
+ ShortFoo.get("/with_helper"){ in_helper?; "OK" }
96
+ result = get "/with_helper"
97
+ result.should be_successful
98
+ $captures.should include(:in_helper?)
99
+ end
100
+
101
+ it "should provide the helpers in child stacks" do
102
+ class ::OtherFoo < ShortFoo; end
103
+ OtherFoo.get("/helper_action"){ in_helper?; "OK" }
104
+ OtherFoo.include_pancake_stack!
105
+ @app = OtherFoo
106
+ result = get "/helper_action"
107
+ result.should be_successful
108
+ $captures.should include(:in_helper?)
109
+ end
110
+
111
+ it "should let me mixin modules to the helpers" do
112
+ module ::OtherFoo
113
+ def other_helper
114
+ $captures << :other_helper
115
+ end
116
+ end
117
+ ShortFoo.helpers{ include OtherFoo }
118
+ ShortFoo.get("/foo"){ other_helper; "OK" }
119
+ result = get "/foo"
120
+ result.should be_successful
121
+ $captures.should include(:other_helper)
122
+ end
123
+ end
124
+ end
@@ -0,0 +1 @@
1
+ --color
@@ -0,0 +1,13 @@
1
+ $LOAD_PATH.unshift(File.dirname(__FILE__))
2
+ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
3
+ require 'short_stack'
4
+ require 'spec'
5
+ require 'spec/autorun'
6
+ require 'rack/test'
7
+ require 'pancake/test/matchers'
8
+
9
+ Spec::Runner.configure do |config|
10
+ config.include(Rack::Test::Methods)
11
+ config.include(Pancake::Test::Matchers)
12
+ config.include(Pancake::Test::Helpers)
13
+ end
metadata ADDED
@@ -0,0 +1,181 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: short_stack
3
+ version: !ruby/object:Gem::Version
4
+ prerelease: false
5
+ segments:
6
+ - 0
7
+ - 1
8
+ - 1
9
+ version: 0.1.1
10
+ platform: ruby
11
+ authors:
12
+ - Daniel Neighman
13
+ autorequire:
14
+ bindir: bin
15
+ cert_chain: []
16
+
17
+ date: 2010-06-15 00:00:00 +10:00
18
+ default_executable:
19
+ dependencies:
20
+ - !ruby/object:Gem::Dependency
21
+ name: pancake
22
+ requirement: &id001 !ruby/object:Gem::Requirement
23
+ none: false
24
+ requirements:
25
+ - - ~>
26
+ - !ruby/object:Gem::Version
27
+ segments:
28
+ - 0
29
+ - 3
30
+ version: "0.3"
31
+ type: :runtime
32
+ prerelease: false
33
+ version_requirements: *id001
34
+ - !ruby/object:Gem::Dependency
35
+ name: rack-rescue
36
+ requirement: &id002 !ruby/object:Gem::Requirement
37
+ none: false
38
+ requirements:
39
+ - - ">="
40
+ - !ruby/object:Gem::Version
41
+ segments:
42
+ - 0
43
+ - 1
44
+ - 2
45
+ version: 0.1.2
46
+ type: :runtime
47
+ prerelease: false
48
+ version_requirements: *id002
49
+ - !ruby/object:Gem::Dependency
50
+ name: wrapt
51
+ requirement: &id003 !ruby/object:Gem::Requirement
52
+ none: false
53
+ requirements:
54
+ - - ">="
55
+ - !ruby/object:Gem::Version
56
+ segments:
57
+ - 0
58
+ version: "0"
59
+ type: :runtime
60
+ prerelease: false
61
+ version_requirements: *id003
62
+ - !ruby/object:Gem::Dependency
63
+ name: rspec
64
+ requirement: &id004 !ruby/object:Gem::Requirement
65
+ none: false
66
+ requirements:
67
+ - - ">="
68
+ - !ruby/object:Gem::Version
69
+ segments:
70
+ - 1
71
+ - 2
72
+ - 9
73
+ version: 1.2.9
74
+ type: :development
75
+ prerelease: false
76
+ version_requirements: *id004
77
+ description: A short sinatra like pancake stack
78
+ email: has.sox@gmail.com
79
+ executables: []
80
+
81
+ extensions: []
82
+
83
+ extra_rdoc_files:
84
+ - LICENSE
85
+ - README.rdoc
86
+ files:
87
+ - Gemfile
88
+ - Gemfile.lock
89
+ - lib/pancake/generators/global.rb
90
+ - lib/pancake/generators/micro_generator.rb
91
+ - lib/pancake/generators/short_generator.rb
92
+ - lib/pancake/generators/templates/common/dotgitignore
93
+ - lib/pancake/generators/templates/common/dothtaccess
94
+ - lib/pancake/generators/templates/common/Gemfile
95
+ - lib/pancake/generators/templates/micro/%stack_name%/%stack_name%.rb.tt
96
+ - lib/pancake/generators/templates/micro/%stack_name%/config.ru.tt
97
+ - lib/pancake/generators/templates/micro/%stack_name%/pancake_init.rb.tt
98
+ - lib/pancake/generators/templates/micro/%stack_name%/Rakefile.tt
99
+ - lib/pancake/generators/templates/micro/%stack_name%/views/layouts/application.html.haml
100
+ - lib/pancake/generators/templates/micro/%stack_name%/views/root.html.haml
101
+ - lib/pancake/generators/templates/short/%stack_name%/lib/%stack_name%/%stack_name%.rb.tt
102
+ - lib/pancake/generators/templates/short/%stack_name%/lib/%stack_name%/config/config.rb.tt
103
+ - lib/pancake/generators/templates/short/%stack_name%/lib/%stack_name%/config/environments/development.rb.tt
104
+ - lib/pancake/generators/templates/short/%stack_name%/lib/%stack_name%/config/environments/production.rb.tt
105
+ - lib/pancake/generators/templates/short/%stack_name%/lib/%stack_name%/config/environments/staging.rb.tt
106
+ - lib/pancake/generators/templates/short/%stack_name%/lib/%stack_name%/config.ru.tt
107
+ - lib/pancake/generators/templates/short/%stack_name%/lib/%stack_name%/tasks/%stack_name%.rake.tt
108
+ - lib/pancake/generators/templates/short/%stack_name%/lib/%stack_name%/views/layouts/application.html.haml
109
+ - lib/pancake/generators/templates/short/%stack_name%/lib/%stack_name%/views/root.html.haml
110
+ - lib/pancake/generators/templates/short/%stack_name%/lib/%stack_name%.rb.tt
111
+ - lib/pancake/generators/templates/short/%stack_name%/LICENSE.tt
112
+ - lib/pancake/generators/templates/short/%stack_name%/pancake_init.rb.tt
113
+ - lib/pancake/generators/templates/short/%stack_name%/Rakefile.tt
114
+ - lib/pancake/generators/templates/short/%stack_name%/README.tt
115
+ - lib/pancake/generators/templates/short/%stack_name%/spec/%stack_name%_spec.rb.tt
116
+ - lib/pancake/generators/templates/short/%stack_name%/spec/spec_helper.rb.tt
117
+ - lib/pancake/generators/templates/short/%stack_name%/VERSION.tt
118
+ - lib/short_stack/controller.rb
119
+ - lib/short_stack/default/views/base.html.haml
120
+ - lib/short_stack/default/views/error.html.haml
121
+ - lib/short_stack/middleware.rb
122
+ - lib/short_stack.rb
123
+ - LICENSE
124
+ - Rakefile
125
+ - README.rdoc
126
+ - short_stack.gemspec
127
+ - spec/fixtures/foobar/other_root/views/base.html.haml
128
+ - spec/fixtures/foobar/views/basic.html.haml
129
+ - spec/fixtures/foobar/views/inherited_from_base.html.haml
130
+ - spec/fixtures/foobar/views/template.html.haml
131
+ - spec/fixtures/foobar/views/vault.html.haml
132
+ - spec/short_stack/controller_spec.rb
133
+ - spec/short_stack/middlewares_spec.rb
134
+ - spec/short_stack/router_spec.rb
135
+ - spec/short_stack/short_stack_spec.rb
136
+ - spec/short_stack/stack_spec.rb
137
+ - spec/spec.opts
138
+ - spec/spec_helper.rb
139
+ - VERSION
140
+ - .document
141
+ - .gitignore
142
+ - lib/pancake/generators/templates/micro/%stack_name%/public/.empty_directory
143
+ - lib/pancake/generators/templates/micro/%stack_name%/tmp/.empty_directory
144
+ - lib/pancake/generators/templates/short/%stack_name%/lib/%stack_name%/models/.empty_directory
145
+ - lib/pancake/generators/templates/short/%stack_name%/lib/%stack_name%/mounts/.empty_directory
146
+ - lib/pancake/generators/templates/short/%stack_name%/lib/%stack_name%/public/.empty_directory
147
+ - lib/pancake/generators/templates/short/%stack_name%/lib/%stack_name%/tmp/.empty_directory
148
+ has_rdoc: true
149
+ homepage: http://github.com/hassox/short_stack
150
+ licenses: []
151
+
152
+ post_install_message:
153
+ rdoc_options:
154
+ - --charset=UTF-8
155
+ require_paths:
156
+ - lib
157
+ required_ruby_version: !ruby/object:Gem::Requirement
158
+ none: false
159
+ requirements:
160
+ - - ">="
161
+ - !ruby/object:Gem::Version
162
+ segments:
163
+ - 0
164
+ version: "0"
165
+ required_rubygems_version: !ruby/object:Gem::Requirement
166
+ none: false
167
+ requirements:
168
+ - - ">="
169
+ - !ruby/object:Gem::Version
170
+ segments:
171
+ - 0
172
+ version: "0"
173
+ requirements: []
174
+
175
+ rubyforge_project:
176
+ rubygems_version: 1.3.7
177
+ signing_key:
178
+ specification_version: 3
179
+ summary: A short sinatra like pancake stack
180
+ test_files: []
181
+