merb-core 0.9.3 → 0.9.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (178) hide show
  1. data/LICENSE +1 -1
  2. data/README +3 -3
  3. data/Rakefile +144 -33
  4. data/bin/merb +0 -0
  5. data/bin/merb-specs +0 -0
  6. data/docs/bootloading.dox +1 -0
  7. data/docs/merb-core-call-stack-diagram.mmap +0 -0
  8. data/docs/merb-core-call-stack-diagram.pdf +0 -0
  9. data/docs/merb-core-call-stack-diagram.png +0 -0
  10. data/lib/merb-core.rb +159 -37
  11. data/lib/merb-core/autoload.rb +1 -0
  12. data/lib/merb-core/bootloader.rb +208 -92
  13. data/lib/merb-core/config.rb +20 -6
  14. data/lib/merb-core/controller/abstract_controller.rb +113 -61
  15. data/lib/merb-core/controller/exceptions.rb +28 -13
  16. data/lib/merb-core/controller/merb_controller.rb +73 -44
  17. data/lib/merb-core/controller/mime.rb +25 -7
  18. data/lib/merb-core/controller/mixins/authentication.rb +1 -1
  19. data/lib/merb-core/controller/mixins/controller.rb +44 -8
  20. data/lib/merb-core/controller/mixins/render.rb +191 -128
  21. data/lib/merb-core/controller/mixins/responder.rb +65 -63
  22. data/lib/merb-core/controller/template.rb +103 -54
  23. data/lib/merb-core/core_ext.rb +7 -12
  24. data/lib/merb-core/core_ext/kernel.rb +128 -136
  25. data/lib/merb-core/dispatch/cookies.rb +26 -4
  26. data/lib/merb-core/dispatch/default_exception/default_exception.rb +93 -0
  27. data/lib/merb-core/dispatch/default_exception/views/_css.html.erb +198 -0
  28. data/lib/merb-core/dispatch/default_exception/views/_javascript.html.erb +73 -0
  29. data/lib/merb-core/dispatch/default_exception/views/index.html.erb +92 -0
  30. data/lib/merb-core/dispatch/dispatcher.rb +156 -224
  31. data/lib/merb-core/dispatch/request.rb +126 -25
  32. data/lib/merb-core/dispatch/router.rb +61 -6
  33. data/lib/merb-core/dispatch/router/behavior.rb +122 -41
  34. data/lib/merb-core/dispatch/router/route.rb +147 -22
  35. data/lib/merb-core/dispatch/session.rb +52 -2
  36. data/lib/merb-core/dispatch/session/cookie.rb +4 -2
  37. data/lib/merb-core/dispatch/session/memcached.rb +38 -27
  38. data/lib/merb-core/dispatch/session/memory.rb +18 -11
  39. data/lib/merb-core/dispatch/worker.rb +28 -0
  40. data/lib/merb-core/gem_ext/erubis.rb +58 -0
  41. data/lib/merb-core/logger.rb +3 -31
  42. data/lib/merb-core/plugins.rb +25 -3
  43. data/lib/merb-core/rack.rb +18 -12
  44. data/lib/merb-core/rack/adapter.rb +10 -8
  45. data/lib/merb-core/rack/adapter/ebb.rb +2 -2
  46. data/lib/merb-core/rack/adapter/irb.rb +31 -21
  47. data/lib/merb-core/rack/adapter/swiftiplied_mongrel.rb +26 -0
  48. data/lib/merb-core/rack/adapter/thin.rb +19 -9
  49. data/lib/merb-core/rack/adapter/thin_turbo.rb +24 -0
  50. data/lib/merb-core/rack/application.rb +9 -84
  51. data/lib/merb-core/rack/middleware.rb +26 -0
  52. data/lib/merb-core/rack/middleware/path_prefix.rb +31 -0
  53. data/lib/merb-core/rack/middleware/profiler.rb +19 -0
  54. data/lib/merb-core/rack/middleware/static.rb +45 -0
  55. data/lib/merb-core/server.rb +27 -9
  56. data/lib/merb-core/tasks/audit.rake +68 -0
  57. data/lib/merb-core/tasks/merb.rb +1 -0
  58. data/lib/merb-core/tasks/merb_rake_helper.rb +12 -0
  59. data/lib/merb-core/tasks/stats.rake +71 -0
  60. data/lib/merb-core/test.rb +2 -1
  61. data/lib/merb-core/test/helpers/multipart_request_helper.rb +3 -3
  62. data/lib/merb-core/test/helpers/request_helper.rb +66 -24
  63. data/lib/merb-core/test/matchers/controller_matchers.rb +36 -4
  64. data/lib/merb-core/test/matchers/route_matchers.rb +12 -3
  65. data/lib/merb-core/test/matchers/view_matchers.rb +3 -3
  66. data/lib/merb-core/test/run_specs.rb +1 -0
  67. data/lib/merb-core/test/tasks/spectasks.rb +13 -5
  68. data/lib/merb-core/test/test_ext/string.rb +14 -0
  69. data/lib/merb-core/vendor/facets/dictionary.rb +3 -3
  70. data/lib/merb-core/vendor/facets/inflect.rb +82 -37
  71. data/lib/merb-core/version.rb +2 -2
  72. data/spec/private/config/config_spec.rb +39 -4
  73. data/spec/private/core_ext/kernel_spec.rb +3 -14
  74. data/spec/private/dispatch/bootloader_spec.rb +1 -1
  75. data/spec/private/dispatch/cookies_spec.rb +181 -69
  76. data/spec/private/dispatch/fixture/app/controllers/exceptions.rb +0 -2
  77. data/spec/private/dispatch/fixture/app/controllers/foo.rb +0 -2
  78. data/spec/private/dispatch/fixture/config/rack.rb +10 -0
  79. data/spec/private/dispatch/fixture/log/merb_test.log +7054 -1802
  80. data/spec/private/dispatch/route_params_spec.rb +2 -3
  81. data/spec/private/dispatch/session_mixin_spec.rb +47 -0
  82. data/spec/private/plugins/plugin_spec.rb +73 -59
  83. data/spec/private/router/behavior_spec.rb +60 -0
  84. data/spec/private/router/fixture/log/merb_test.log +1693 -0
  85. data/spec/private/router/route_spec.rb +414 -0
  86. data/spec/private/router/router_spec.rb +175 -0
  87. data/spec/private/vendor/facets/plural_spec.rb +564 -0
  88. data/spec/private/vendor/facets/singular_spec.rb +489 -0
  89. data/spec/public/abstract_controller/controllers/cousins.rb +41 -0
  90. data/spec/public/abstract_controller/controllers/helpers.rb +12 -2
  91. data/spec/public/abstract_controller/controllers/partial.rb +17 -2
  92. data/spec/public/abstract_controller/controllers/render.rb +16 -1
  93. data/spec/public/abstract_controller/controllers/views/helpers/capture_eq/index.erb +1 -0
  94. data/spec/public/abstract_controller/controllers/views/helpers/capture_with_args/index.erb +1 -0
  95. data/spec/public/abstract_controller/controllers/views/merb/test/fixtures/abstract/render_two_throw_contents/index.erb +1 -0
  96. data/spec/public/abstract_controller/controllers/views/partial/partial_with_collections_and_counter/_collection.erb +1 -0
  97. data/spec/public/abstract_controller/controllers/views/partial/partial_with_collections_and_counter/index.erb +1 -0
  98. data/spec/public/abstract_controller/controllers/views/partial/with_absolute_partial/_partial.erb +1 -0
  99. data/spec/public/abstract_controller/controllers/views/partial/with_absolute_partial/index.erb +1 -0
  100. data/spec/public/abstract_controller/filter_spec.rb +20 -1
  101. data/spec/public/abstract_controller/helper_spec.rb +10 -2
  102. data/spec/public/abstract_controller/partial_spec.rb +8 -0
  103. data/spec/public/abstract_controller/render_spec.rb +8 -0
  104. data/spec/public/abstract_controller/spec_helper.rb +7 -3
  105. data/spec/public/boot_loader/boot_loader_spec.rb +2 -2
  106. data/spec/public/controller/base_spec.rb +10 -2
  107. data/spec/public/controller/config/init.rb +6 -0
  108. data/spec/public/controller/controllers/authentication.rb +9 -11
  109. data/spec/public/controller/controllers/base.rb +2 -8
  110. data/spec/public/controller/controllers/cookies.rb +16 -0
  111. data/spec/public/controller/controllers/dispatcher.rb +35 -0
  112. data/spec/public/controller/controllers/display.rb +62 -14
  113. data/spec/public/controller/controllers/redirect.rb +36 -0
  114. data/spec/public/controller/controllers/responder.rb +37 -11
  115. data/spec/public/controller/controllers/views/layout/custom_arg.json.erb +1 -0
  116. data/spec/public/controller/controllers/views/merb/test/fixtures/controllers/class_and_local_provides/index.html.erb +1 -0
  117. data/spec/public/controller/controllers/views/merb/test/fixtures/controllers/class_and_local_provides/index.xml.erb +1 -0
  118. data/spec/public/controller/controllers/views/merb/test/fixtures/controllers/display_with_template/no_layout.html.erb +1 -0
  119. data/spec/public/controller/cookies_spec.rb +23 -0
  120. data/spec/public/controller/dispatcher_spec.rb +411 -0
  121. data/spec/public/controller/display_spec.rb +43 -10
  122. data/spec/public/controller/redirect_spec.rb +33 -0
  123. data/spec/public/controller/responder_spec.rb +79 -11
  124. data/spec/public/controller/spec_helper.rb +3 -1
  125. data/spec/public/controller/url_spec.rb +10 -0
  126. data/spec/public/core/merb_core_spec.rb +11 -0
  127. data/spec/public/core_ext/fixtures/core_ext_dependency.rb +2 -0
  128. data/spec/public/core_ext/kernel_spec.rb +9 -0
  129. data/spec/public/core_ext/spec_helper.rb +1 -0
  130. data/spec/public/directory_structure/directory/log/merb_test.log +3729 -272
  131. data/spec/public/directory_structure/directory_spec.rb +3 -4
  132. data/spec/public/logger/logger_spec.rb +4 -4
  133. data/spec/public/reloading/directory/log/merb_test.log +288066 -15
  134. data/spec/public/reloading/reload_spec.rb +49 -27
  135. data/spec/public/request/multipart_spec.rb +26 -0
  136. data/spec/public/request/request_spec.rb +21 -2
  137. data/spec/public/router/fixation_spec.rb +27 -0
  138. data/spec/public/router/fixture/log/merb_test.log +30050 -0
  139. data/spec/public/router/nested_matches_spec.rb +97 -0
  140. data/spec/public/router/resource_spec.rb +1 -9
  141. data/spec/public/router/resources_spec.rb +0 -20
  142. data/spec/public/router/spec_helper.rb +27 -9
  143. data/spec/public/router/special_spec.rb +21 -8
  144. data/spec/public/template/template_spec.rb +17 -5
  145. data/spec/public/test/controller_matchers_spec.rb +10 -0
  146. data/spec/public/test/request_helper_spec.rb +29 -0
  147. data/spec/public/test/route_helper_spec.rb +18 -1
  148. data/spec/public/test/route_matchers_spec.rb +28 -1
  149. data/spec/public/test/view_matchers_spec.rb +3 -3
  150. data/spec/spec_helper.rb +56 -12
  151. metadata +89 -47
  152. data/lib/merb-core/core_ext/class.rb +0 -299
  153. data/lib/merb-core/core_ext/hash.rb +0 -426
  154. data/lib/merb-core/core_ext/mash.rb +0 -154
  155. data/lib/merb-core/core_ext/object.rb +0 -147
  156. data/lib/merb-core/core_ext/object_space.rb +0 -14
  157. data/lib/merb-core/core_ext/rubygems.rb +0 -28
  158. data/lib/merb-core/core_ext/set.rb +0 -46
  159. data/lib/merb-core/core_ext/string.rb +0 -89
  160. data/lib/merb-core/core_ext/time.rb +0 -13
  161. data/lib/merb-core/dispatch/exceptions.html.erb +0 -297
  162. data/spec/private/core_ext/class_spec.rb +0 -22
  163. data/spec/private/core_ext/hash_spec.rb +0 -522
  164. data/spec/private/core_ext/object_spec.rb +0 -121
  165. data/spec/private/core_ext/set_spec.rb +0 -26
  166. data/spec/private/core_ext/string_spec.rb +0 -167
  167. data/spec/private/core_ext/time_spec.rb +0 -16
  168. data/spec/private/dispatch/dispatch_spec.rb +0 -26
  169. data/spec/private/dispatch/fixture/log/development.log +0 -1
  170. data/spec/private/dispatch/fixture/log/merb.4000.pid +0 -1
  171. data/spec/private/dispatch/fixture/log/production.log +0 -1
  172. data/spec/private/dispatch/fixture/merb.4000.pid +0 -1
  173. data/spec/private/rack/application_spec.rb +0 -43
  174. data/spec/public/controller/log/merb.4000.pid +0 -1
  175. data/spec/public/directory_structure/directory/log/merb.4000.pid +0 -1
  176. data/spec/public/directory_structure/directory/merb.4000.pid +0 -1
  177. data/spec/public/reloading/directory/log/merb.4000.pid +0 -1
  178. data/spec/public/reloading/directory/merb.4000.pid +0 -1
@@ -4,7 +4,7 @@ Merb.start :environment => 'test', :log_level => :fatal
4
4
 
5
5
  class TestController < Merb::Controller
6
6
  def get(id = nil); end
7
- def post; end
7
+ def post(version = nil); end
8
8
  end
9
9
 
10
10
  class IDish
@@ -21,6 +21,7 @@ describe Merb::Test::Rspec::RouteMatchers do
21
21
 
22
22
  before(:each) do
23
23
  Merb::Router.prepare do |r|
24
+ r.match(%r"/v(\d+\.\d+)", :method => :post).to(:controller => "test_controller", :action => "post", :version => "[1]")
24
25
  r.match("/", :method => :get).to(:controller => "test_controller", :action => "get").name(:getter)
25
26
  r.match("/", :method => :post).to(:controller => "test_controller", :action => "post")
26
27
  r.match("/:id").to(:controller => "test_controller", :action => "get").name(:with_id)
@@ -35,8 +36,18 @@ describe Merb::Test::Rspec::RouteMatchers do
35
36
 
36
37
  it "should work with the url helper and ParamMatcher" do
37
38
  idish = IDish.new(rand(1000).to_s)
39
+
38
40
  request_to(url(:with_id, idish)).should route_to(TestController, :get).with(idish)
39
41
  end
42
+
43
+ it "should work with a negative ParamMatcher" do
44
+ request_to(url(:with_id, :id => 100)).should_not route_to(TestController, :get).with(:id => 1)
45
+ end
46
+
47
+ it "should work with a route containing a regexp" do
48
+ request_to("/v1.2", :post).should route_to(TestController, :post).with(:version => "1.2")
49
+ request_to("/v1.0", :post).should_not route_to(TestController, :post).with(:version => "3.14")
50
+ end
40
51
  end
41
52
 
42
53
  module Merb::Test::Rspec::RouteMatchers
@@ -92,6 +103,22 @@ describe Merb::Test::Rspec::RouteMatchers do
92
103
  matcher.matches?(:controller => "target_controller", :action => "target_action")
93
104
  matcher.failure_message.should include("TargetController#target_action")
94
105
  end
106
+
107
+ it "should include the expected parameters" do
108
+ expected_parameters = {:id => '123', :page => '2'}
109
+ matcher = RouteToMatcher.new(TestController, :any_action)
110
+ matcher.with(expected_parameters)
111
+ matcher.matches?(:controller => "target_controller", :action => "target_action")
112
+ matcher.failure_message.should include(expected_parameters.inspect)
113
+ end
114
+
115
+ it "should include the actual paramters" do
116
+ expected_parameters, actual_parameters = {:id => '123', :page => '2'}, {:id => '2', :page => '321'}
117
+ matcher = RouteToMatcher.new(TestController, :any_action)
118
+ matcher.with(expected_parameters)
119
+ matcher.matches?(actual_parameters.merge(:controller => "test_controller", :action => "any_action"))
120
+ matcher.failure_message.should include(actual_parameters.inspect)
121
+ end
95
122
  end
96
123
 
97
124
  describe "#negative_failure_message" do
@@ -132,7 +132,7 @@ describe Merb::Test::Rspec::ViewMatchers do
132
132
  describe HasContent do
133
133
  before(:each) do
134
134
  @element = stub(:element)
135
- @element.stub!(:inner_content).and_return <<-EOF
135
+ @element.stub!(:inner_text).and_return <<-EOF
136
136
  <div id='main'>
137
137
  <div class='inner'>hello, world!</div>
138
138
  </div>
@@ -175,9 +175,9 @@ describe Merb::Test::Rspec::ViewMatchers do
175
175
  hc = HasContent.new(/hello,\sworld!/)
176
176
  hc.matches?(@element)
177
177
 
178
- hc.failure_message.should include(@element.inner_content)
178
+ hc.failure_message.should include(@element.inner_text)
179
179
  end
180
180
  end
181
181
  end
182
182
  end
183
- end
183
+ end
@@ -3,11 +3,15 @@ require "rubygems"
3
3
  require "spec"
4
4
  require File.join(File.dirname(__FILE__), "..", "lib", "merb-core")
5
5
 
6
+ default_options = {:environment => 'test', :adapter => 'runner'}
7
+ options = default_options.merge($START_OPTIONS || {})
8
+ Merb.start options
9
+
6
10
  # -- Global custom matchers --
7
11
 
8
12
  # A better +be_kind_of+ with more informative error messages.
9
13
  #
10
- # The default +be_kind_of+ just says
14
+ # The default +be_kind_of+ just says
11
15
  #
12
16
  # "expected to return true but got false"
13
17
  #
@@ -16,13 +20,35 @@ require File.join(File.dirname(__FILE__), "..", "lib", "merb-core")
16
20
  # "expected File but got Tempfile"
17
21
 
18
22
  module Merb
19
-
20
23
  module Test
21
-
22
24
  module RspecMatchers
25
+ class IncludeLog
26
+ def initialize(expected)
27
+ @expected = expected
28
+ end
29
+
30
+ def matches?(target)
31
+ target.log.rewind
32
+ @text = target.log.read
33
+ @text =~ (String === @expected ? /#{@expected}/ : @expected)
34
+ end
35
+
36
+ def failure_message
37
+ "expected to find `#{@expected}' in the log but got:\n" <<
38
+ @text.map {|s| " #{s}" }.join
39
+ end
40
+
41
+ def negative_failure_message
42
+ "exected not to find `#{@expected}' in the log but got:\n" <<
43
+ @text.map {|s| " #{s}" }.join
44
+ end
45
+
46
+ def description
47
+ "include #{@text} in the log"
48
+ end
49
+ end
23
50
 
24
51
  class BeKindOf
25
-
26
52
  def initialize(expected) # + args
27
53
  @expected = expected
28
54
  end
@@ -43,29 +69,47 @@ module Merb
43
69
  def description
44
70
  "be_kind_of #{@target}"
45
71
  end
46
-
47
72
  end
48
73
 
49
74
  def be_kind_of(expected) # + args
50
75
  BeKindOf.new(expected)
51
76
  end
77
+
78
+ def include_log(expected)
79
+ IncludeLog.new(expected)
80
+ end
52
81
  end
53
82
 
54
83
  module Helper
55
-
56
84
  def running(&blk) blk; end
57
-
85
+
58
86
  def executing(&blk) blk; end
59
-
87
+
60
88
  def doing(&blk) blk; end
61
-
62
- def calling(&blk) blk; end
89
+
90
+ def calling(&blk) blk; end
63
91
  end
64
92
  end
65
93
  end
66
94
 
95
+
67
96
  Spec::Runner.configure do |config|
68
97
  config.include Merb::Test::Helper
69
98
  config.include Merb::Test::RspecMatchers
70
- config.include Merb::Test::RequestHelper
71
- end
99
+ config.include Merb::Test::RequestHelper
100
+
101
+ def capture(stream)
102
+ begin
103
+ stream = stream.to_s
104
+ eval "$#{stream} = StringIO.new"
105
+ yield
106
+ result = eval("$#{stream}").string
107
+ ensure
108
+ eval("$#{stream} = #{stream.upcase}")
109
+ end
110
+
111
+ result
112
+ end
113
+
114
+ alias silence capture
115
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: merb-core
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.3
4
+ version: 0.9.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ezra Zygmuntowicz
@@ -9,20 +9,22 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2008-05-04 00:00:00 -05:00
12
+ date: 2008-08-13 00:00:00 +03:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
- name: erubis
16
+ name: extlib
17
+ type: :runtime
17
18
  version_requirement:
18
19
  version_requirements: !ruby/object:Gem::Requirement
19
20
  requirements:
20
21
  - - ">="
21
22
  - !ruby/object:Gem::Version
22
- version: "0"
23
+ version: 0.9.3
23
24
  version:
24
25
  - !ruby/object:Gem::Dependency
25
- name: rake
26
+ name: erubis
27
+ type: :runtime
26
28
  version_requirement:
27
29
  version_requirements: !ruby/object:Gem::Requirement
28
30
  requirements:
@@ -31,7 +33,8 @@ dependencies:
31
33
  version: "0"
32
34
  version:
33
35
  - !ruby/object:Gem::Dependency
34
- name: json_pure
36
+ name: rake
37
+ type: :runtime
35
38
  version_requirement:
36
39
  version_requirements: !ruby/object:Gem::Requirement
37
40
  requirements:
@@ -40,7 +43,8 @@ dependencies:
40
43
  version: "0"
41
44
  version:
42
45
  - !ruby/object:Gem::Dependency
43
- name: rspec
46
+ name: json_pure
47
+ type: :runtime
44
48
  version_requirement:
45
49
  version_requirements: !ruby/object:Gem::Requirement
46
50
  requirements:
@@ -49,7 +53,8 @@ dependencies:
49
53
  version: "0"
50
54
  version:
51
55
  - !ruby/object:Gem::Dependency
52
- name: rack
56
+ name: rspec
57
+ type: :runtime
53
58
  version_requirement:
54
59
  version_requirements: !ruby/object:Gem::Requirement
55
60
  requirements:
@@ -58,7 +63,8 @@ dependencies:
58
63
  version: "0"
59
64
  version:
60
65
  - !ruby/object:Gem::Dependency
61
- name: hpricot
66
+ name: rack
67
+ type: :runtime
62
68
  version_requirement:
63
69
  version_requirements: !ruby/object:Gem::Requirement
64
70
  requirements:
@@ -68,6 +74,7 @@ dependencies:
68
74
  version:
69
75
  - !ruby/object:Gem::Dependency
70
76
  name: mime-types
77
+ type: :runtime
71
78
  version_requirement:
72
79
  version_requirements: !ruby/object:Gem::Requirement
73
80
  requirements:
@@ -92,6 +99,9 @@ files:
92
99
  - TODO
93
100
  - docs/bootloading.dox
94
101
  - docs/documentation_standards
102
+ - docs/merb-core-call-stack-diagram.mmap
103
+ - docs/merb-core-call-stack-diagram.pdf
104
+ - docs/merb-core-call-stack-diagram.png
95
105
  - docs/new_render_api
96
106
  - bin/merb
97
107
  - bin/merb-specs
@@ -102,17 +112,10 @@ files:
102
112
  - spec/private/config/environment_spec.rb
103
113
  - spec/private/config/spec_helper.rb
104
114
  - spec/private/core_ext
105
- - spec/private/core_ext/class_spec.rb
106
- - spec/private/core_ext/hash_spec.rb
107
115
  - spec/private/core_ext/kernel_spec.rb
108
- - spec/private/core_ext/object_spec.rb
109
- - spec/private/core_ext/set_spec.rb
110
- - spec/private/core_ext/string_spec.rb
111
- - spec/private/core_ext/time_spec.rb
112
116
  - spec/private/dispatch
113
117
  - spec/private/dispatch/bootloader_spec.rb
114
118
  - spec/private/dispatch/cookies_spec.rb
115
- - spec/private/dispatch/dispatch_spec.rb
116
119
  - spec/private/dispatch/fixture
117
120
  - spec/private/dispatch/fixture/app
118
121
  - spec/private/dispatch/fixture/app/controllers
@@ -141,11 +144,7 @@ files:
141
144
  - spec/private/dispatch/fixture/config/rack.rb
142
145
  - spec/private/dispatch/fixture/config/router.rb
143
146
  - spec/private/dispatch/fixture/log
144
- - spec/private/dispatch/fixture/log/development.log
145
- - spec/private/dispatch/fixture/log/merb.4000.pid
146
147
  - spec/private/dispatch/fixture/log/merb_test.log
147
- - spec/private/dispatch/fixture/log/production.log
148
- - spec/private/dispatch/fixture/merb.4000.pid
149
148
  - spec/private/dispatch/fixture/public
150
149
  - spec/private/dispatch/fixture/public/images
151
150
  - spec/private/dispatch/fixture/public/images/merb.jpg
@@ -153,11 +152,21 @@ files:
153
152
  - spec/private/dispatch/fixture/public/stylesheets
154
153
  - spec/private/dispatch/fixture/public/stylesheets/master.css
155
154
  - spec/private/dispatch/route_params_spec.rb
155
+ - spec/private/dispatch/session_mixin_spec.rb
156
156
  - spec/private/dispatch/spec_helper.rb
157
157
  - spec/private/plugins
158
158
  - spec/private/plugins/plugin_spec.rb
159
- - spec/private/rack
160
- - spec/private/rack/application_spec.rb
159
+ - spec/private/router
160
+ - spec/private/router/behavior_spec.rb
161
+ - spec/private/router/fixture
162
+ - spec/private/router/fixture/log
163
+ - spec/private/router/fixture/log/merb_test.log
164
+ - spec/private/router/route_spec.rb
165
+ - spec/private/router/router_spec.rb
166
+ - spec/private/vendor
167
+ - spec/private/vendor/facets
168
+ - spec/private/vendor/facets/plural_spec.rb
169
+ - spec/private/vendor/facets/singular_spec.rb
161
170
  - spec/public
162
171
  - spec/public/abstract_controller
163
172
  - spec/public/abstract_controller/controllers
@@ -186,6 +195,7 @@ files:
186
195
  - spec/public/abstract_controller/controllers/alt_views/render_template_multiple_roots_and_custom_location/index.erb
187
196
  - spec/public/abstract_controller/controllers/alt_views/render_template_multiple_roots_inherited
188
197
  - spec/public/abstract_controller/controllers/alt_views/render_template_multiple_roots_inherited/index.erb
198
+ - spec/public/abstract_controller/controllers/cousins.rb
189
199
  - spec/public/abstract_controller/controllers/display.rb
190
200
  - spec/public/abstract_controller/controllers/filters.rb
191
201
  - spec/public/abstract_controller/controllers/helpers.rb
@@ -195,6 +205,10 @@ files:
195
205
  - spec/public/abstract_controller/controllers/views/helpers
196
206
  - spec/public/abstract_controller/controllers/views/helpers/capture
197
207
  - spec/public/abstract_controller/controllers/views/helpers/capture/index.erb
208
+ - spec/public/abstract_controller/controllers/views/helpers/capture_eq
209
+ - spec/public/abstract_controller/controllers/views/helpers/capture_eq/index.erb
210
+ - spec/public/abstract_controller/controllers/views/helpers/capture_with_args
211
+ - spec/public/abstract_controller/controllers/views/helpers/capture_with_args/index.erb
198
212
  - spec/public/abstract_controller/controllers/views/helpers/concat
199
213
  - spec/public/abstract_controller/controllers/views/helpers/concat/index.erb
200
214
  - spec/public/abstract_controller/controllers/views/layout
@@ -217,6 +231,8 @@ files:
217
231
  - spec/public/abstract_controller/controllers/views/merb/test/fixtures/abstract/render_template_multiple_roots
218
232
  - spec/public/abstract_controller/controllers/views/merb/test/fixtures/abstract/render_template_multiple_roots/index.erb
219
233
  - spec/public/abstract_controller/controllers/views/merb/test/fixtures/abstract/render_template_multiple_roots/show.erb
234
+ - spec/public/abstract_controller/controllers/views/merb/test/fixtures/abstract/render_two_throw_contents
235
+ - spec/public/abstract_controller/controllers/views/merb/test/fixtures/abstract/render_two_throw_contents/index.erb
220
236
  - spec/public/abstract_controller/controllers/views/partial
221
237
  - spec/public/abstract_controller/controllers/views/partial/another_directory
222
238
  - spec/public/abstract_controller/controllers/views/partial/another_directory/_partial.erb
@@ -240,12 +256,18 @@ files:
240
256
  - spec/public/abstract_controller/controllers/views/partial/partial_with_collections_and_as
241
257
  - spec/public/abstract_controller/controllers/views/partial/partial_with_collections_and_as/_collection.erb
242
258
  - spec/public/abstract_controller/controllers/views/partial/partial_with_collections_and_as/index.erb
259
+ - spec/public/abstract_controller/controllers/views/partial/partial_with_collections_and_counter
260
+ - spec/public/abstract_controller/controllers/views/partial/partial_with_collections_and_counter/_collection.erb
261
+ - spec/public/abstract_controller/controllers/views/partial/partial_with_collections_and_counter/index.erb
243
262
  - spec/public/abstract_controller/controllers/views/partial/partial_with_locals
244
263
  - spec/public/abstract_controller/controllers/views/partial/partial_with_locals/_variables.erb
245
264
  - spec/public/abstract_controller/controllers/views/partial/partial_with_locals/index.erb
246
265
  - spec/public/abstract_controller/controllers/views/partial/partial_with_with_and_locals
247
266
  - spec/public/abstract_controller/controllers/views/partial/partial_with_with_and_locals/_both.erb
248
267
  - spec/public/abstract_controller/controllers/views/partial/partial_with_with_and_locals/index.erb
268
+ - spec/public/abstract_controller/controllers/views/partial/with_absolute_partial
269
+ - spec/public/abstract_controller/controllers/views/partial/with_absolute_partial/_partial.erb
270
+ - spec/public/abstract_controller/controllers/views/partial/with_absolute_partial/index.erb
249
271
  - spec/public/abstract_controller/controllers/views/partial/with_as_partial
250
272
  - spec/public/abstract_controller/controllers/views/partial/with_as_partial/_with_partial.erb
251
273
  - spec/public/abstract_controller/controllers/views/partial/with_as_partial/index.erb
@@ -273,25 +295,35 @@ files:
273
295
  - spec/public/controller
274
296
  - spec/public/controller/authentication_spec.rb
275
297
  - spec/public/controller/base_spec.rb
298
+ - spec/public/controller/config
299
+ - spec/public/controller/config/init.rb
276
300
  - spec/public/controller/controllers
277
301
  - spec/public/controller/controllers/authentication.rb
278
302
  - spec/public/controller/controllers/base.rb
303
+ - spec/public/controller/controllers/cookies.rb
304
+ - spec/public/controller/controllers/dispatcher.rb
279
305
  - spec/public/controller/controllers/display.rb
306
+ - spec/public/controller/controllers/redirect.rb
280
307
  - spec/public/controller/controllers/responder.rb
281
308
  - spec/public/controller/controllers/url.rb
282
309
  - spec/public/controller/controllers/views
283
310
  - spec/public/controller/controllers/views/layout
284
311
  - spec/public/controller/controllers/views/layout/custom.html.erb
285
312
  - spec/public/controller/controllers/views/layout/custom_arg.html.erb
313
+ - spec/public/controller/controllers/views/layout/custom_arg.json.erb
286
314
  - spec/public/controller/controllers/views/merb
287
315
  - spec/public/controller/controllers/views/merb/test
288
316
  - spec/public/controller/controllers/views/merb/test/fixtures
289
317
  - spec/public/controller/controllers/views/merb/test/fixtures/controllers
318
+ - spec/public/controller/controllers/views/merb/test/fixtures/controllers/class_and_local_provides
319
+ - spec/public/controller/controllers/views/merb/test/fixtures/controllers/class_and_local_provides/index.html.erb
320
+ - spec/public/controller/controllers/views/merb/test/fixtures/controllers/class_and_local_provides/index.xml.erb
290
321
  - spec/public/controller/controllers/views/merb/test/fixtures/controllers/class_provides
291
322
  - spec/public/controller/controllers/views/merb/test/fixtures/controllers/class_provides/index.html.erb
292
323
  - spec/public/controller/controllers/views/merb/test/fixtures/controllers/class_provides/index.xml.erb
293
324
  - spec/public/controller/controllers/views/merb/test/fixtures/controllers/display_with_template
294
325
  - spec/public/controller/controllers/views/merb/test/fixtures/controllers/display_with_template/index.html.erb
326
+ - spec/public/controller/controllers/views/merb/test/fixtures/controllers/display_with_template/no_layout.html.erb
295
327
  - spec/public/controller/controllers/views/merb/test/fixtures/controllers/display_with_template_argument
296
328
  - spec/public/controller/controllers/views/merb/test/fixtures/controllers/display_with_template_argument/index.html.erb
297
329
  - spec/public/controller/controllers/views/merb/test/fixtures/controllers/html_default
@@ -304,14 +336,20 @@ files:
304
336
  - spec/public/controller/controllers/views/merb/test/fixtures/controllers/multi_provides
305
337
  - spec/public/controller/controllers/views/merb/test/fixtures/controllers/multi_provides/index.html.erb
306
338
  - spec/public/controller/controllers/views/merb/test/fixtures/controllers/multi_provides/index.js.erb
339
+ - spec/public/controller/cookies_spec.rb
340
+ - spec/public/controller/dispatcher_spec.rb
307
341
  - spec/public/controller/display_spec.rb
308
- - spec/public/controller/log
309
- - spec/public/controller/log/merb.4000.pid
342
+ - spec/public/controller/redirect_spec.rb
310
343
  - spec/public/controller/responder_spec.rb
311
344
  - spec/public/controller/spec_helper.rb
312
345
  - spec/public/controller/url_spec.rb
313
346
  - spec/public/core
314
347
  - spec/public/core/merb_core_spec.rb
348
+ - spec/public/core_ext
349
+ - spec/public/core_ext/fixtures
350
+ - spec/public/core_ext/fixtures/core_ext_dependency.rb
351
+ - spec/public/core_ext/kernel_spec.rb
352
+ - spec/public/core_ext/spec_helper.rb
315
353
  - spec/public/DEFINITIONS
316
354
  - spec/public/directory_structure
317
355
  - spec/public/directory_structure/directory
@@ -328,9 +366,7 @@ files:
328
366
  - spec/public/directory_structure/directory/config
329
367
  - spec/public/directory_structure/directory/config/router.rb
330
368
  - spec/public/directory_structure/directory/log
331
- - spec/public/directory_structure/directory/log/merb.4000.pid
332
369
  - spec/public/directory_structure/directory/log/merb_test.log
333
- - spec/public/directory_structure/directory/merb.4000.pid
334
370
  - spec/public/directory_structure/directory_spec.rb
335
371
  - spec/public/logger
336
372
  - spec/public/logger/logger_spec.rb
@@ -344,9 +380,7 @@ files:
344
380
  - spec/public/reloading/directory/config
345
381
  - spec/public/reloading/directory/config/init.rb
346
382
  - spec/public/reloading/directory/log
347
- - spec/public/reloading/directory/log/merb.4000.pid
348
383
  - spec/public/reloading/directory/log/merb_test.log
349
- - spec/public/reloading/directory/merb.4000.pid
350
384
  - spec/public/reloading/reload_spec.rb
351
385
  - spec/public/request
352
386
  - spec/public/request/multipart_spec.rb
@@ -354,7 +388,12 @@ files:
354
388
  - spec/public/router
355
389
  - spec/public/router/default_spec.rb
356
390
  - spec/public/router/deferred_spec.rb
391
+ - spec/public/router/fixation_spec.rb
392
+ - spec/public/router/fixture
393
+ - spec/public/router/fixture/log
394
+ - spec/public/router/fixture/log/merb_test.log
357
395
  - spec/public/router/namespace_spec.rb
396
+ - spec/public/router/nested_matches_spec.rb
358
397
  - spec/public/router/nested_resources_spec.rb
359
398
  - spec/public/router/resource_spec.rb
360
399
  - spec/public/router/resources_spec.rb
@@ -373,12 +412,6 @@ files:
373
412
  - spec/public/test/controllers/controller_assertion_mock.rb
374
413
  - spec/public/test/controllers/dispatch_controller.rb
375
414
  - spec/public/test/controllers/spec_helper_controller.rb
376
- - spec/public/test/example_groups
377
- - spec/public/test/example_groups/views
378
- - spec/public/test/example_groups/views/test
379
- - spec/public/test/helpers
380
- - spec/public/test/helpers/controllers
381
- - spec/public/test/matchers
382
415
  - spec/public/test/multipart_request_helper_spec.rb
383
416
  - spec/public/test/multipart_upload_text_file.txt
384
417
  - spec/public/test/request_helper_spec.rb
@@ -404,21 +437,17 @@ files:
404
437
  - lib/merb-core/controller/mixins/responder.rb
405
438
  - lib/merb-core/controller/template.rb
406
439
  - lib/merb-core/core_ext
407
- - lib/merb-core/core_ext/class.rb
408
- - lib/merb-core/core_ext/hash.rb
409
440
  - lib/merb-core/core_ext/kernel.rb
410
- - lib/merb-core/core_ext/mash.rb
411
- - lib/merb-core/core_ext/object.rb
412
- - lib/merb-core/core_ext/object_space.rb
413
- - lib/merb-core/core_ext/rubygems.rb
414
- - lib/merb-core/core_ext/set.rb
415
- - lib/merb-core/core_ext/string.rb
416
- - lib/merb-core/core_ext/time.rb
417
441
  - lib/merb-core/core_ext.rb
418
442
  - lib/merb-core/dispatch
419
443
  - lib/merb-core/dispatch/cookies.rb
444
+ - lib/merb-core/dispatch/default_exception
445
+ - lib/merb-core/dispatch/default_exception/default_exception.rb
446
+ - lib/merb-core/dispatch/default_exception/views
447
+ - lib/merb-core/dispatch/default_exception/views/_css.html.erb
448
+ - lib/merb-core/dispatch/default_exception/views/_javascript.html.erb
449
+ - lib/merb-core/dispatch/default_exception/views/index.html.erb
420
450
  - lib/merb-core/dispatch/dispatcher.rb
421
- - lib/merb-core/dispatch/exceptions.html.erb
422
451
  - lib/merb-core/dispatch/request.rb
423
452
  - lib/merb-core/dispatch/router
424
453
  - lib/merb-core/dispatch/router/behavior.rb
@@ -430,6 +459,7 @@ files:
430
459
  - lib/merb-core/dispatch/session/memcached.rb
431
460
  - lib/merb-core/dispatch/session/memory.rb
432
461
  - lib/merb-core/dispatch/session.rb
462
+ - lib/merb-core/dispatch/worker.rb
433
463
  - lib/merb-core/gem_ext
434
464
  - lib/merb-core/gem_ext/erubis.rb
435
465
  - lib/merb-core/logger.rb
@@ -442,16 +472,27 @@ files:
442
472
  - lib/merb-core/rack/adapter/irb.rb
443
473
  - lib/merb-core/rack/adapter/mongrel.rb
444
474
  - lib/merb-core/rack/adapter/runner.rb
475
+ - lib/merb-core/rack/adapter/swiftiplied_mongrel.rb
445
476
  - lib/merb-core/rack/adapter/thin.rb
477
+ - lib/merb-core/rack/adapter/thin_turbo.rb
446
478
  - lib/merb-core/rack/adapter/webrick.rb
447
479
  - lib/merb-core/rack/adapter.rb
448
480
  - lib/merb-core/rack/application.rb
449
481
  - lib/merb-core/rack/handler
450
482
  - lib/merb-core/rack/handler/mongrel.rb
483
+ - lib/merb-core/rack/middleware
484
+ - lib/merb-core/rack/middleware/path_prefix.rb
485
+ - lib/merb-core/rack/middleware/profiler.rb
486
+ - lib/merb-core/rack/middleware/static.rb
487
+ - lib/merb-core/rack/middleware.rb
451
488
  - lib/merb-core/rack.rb
452
489
  - lib/merb-core/server.rb
490
+ - lib/merb-core/tasks
491
+ - lib/merb-core/tasks/audit.rake
492
+ - lib/merb-core/tasks/merb.rb
493
+ - lib/merb-core/tasks/merb_rake_helper.rb
494
+ - lib/merb-core/tasks/stats.rake
453
495
  - lib/merb-core/test
454
- - lib/merb-core/test/example_groups
455
496
  - lib/merb-core/test/helpers
456
497
  - lib/merb-core/test/helpers/controller_helper.rb
457
498
  - lib/merb-core/test/helpers/multipart_request_helper.rb
@@ -470,6 +511,7 @@ files:
470
511
  - lib/merb-core/test/test_ext
471
512
  - lib/merb-core/test/test_ext/hpricot.rb
472
513
  - lib/merb-core/test/test_ext/object.rb
514
+ - lib/merb-core/test/test_ext/string.rb
473
515
  - lib/merb-core/test.rb
474
516
  - lib/merb-core/vendor
475
517
  - lib/merb-core/vendor/facets
@@ -489,7 +531,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
489
531
  requirements:
490
532
  - - ">="
491
533
  - !ruby/object:Gem::Version
492
- version: 1.8.4
534
+ version: 1.8.6
493
535
  version:
494
536
  required_rubygems_version: !ruby/object:Gem::Requirement
495
537
  requirements:
@@ -500,7 +542,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
500
542
  requirements:
501
543
  - install the json gem to get faster json parsing
502
544
  rubyforge_project:
503
- rubygems_version: 1.0.1
545
+ rubygems_version: 1.2.0
504
546
  signing_key:
505
547
  specification_version: 2
506
548
  summary: Merb. Pocket rocket web framework.