short_stack 0.1.1

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.
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
+