Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

deOMGifying Railties, Active Support, and Action Pack

  • Loading branch information...
commit 2ebea1c02d10e0fea26bd98d297a8f4d41dc1aff 1 parent b3a0282
@mikel mikel authored jeremy committed
View
2  actionpack/lib/action_controller/metal/testing.rb
@@ -4,7 +4,7 @@ module Testing
include RackDelegation
- # OMG MEGA HAX
+ # TODO: Clean this up
def process_with_new_base_test(request, response)
@_request = request
@_response = response
View
3  actionpack/lib/action_view/template/resolver.rb
@@ -141,8 +141,7 @@ def initialize(path, options = {})
end
end
- # OMG HAX
- # TODO: remove hax
+ # TODO: remove hack
class FileSystemResolverWithFallback < Resolver
def initialize(path, options = {})
super(options)
View
18 actionpack/test/abstract/layouts_test.rb
@@ -13,7 +13,7 @@ class Base < AbstractController::Base
"layouts/hello_override.erb" => "With Override <%= yield %>",
"layouts/abstract_controller_tests/layouts/with_string_implied_child.erb" =>
"With Implied <%= yield %>",
- "layouts/omg.erb" => "OMGHI2U <%= yield %>",
+ "layouts/overwrite.erb" => "Overwrite <%= yield %>",
"layouts/with_false_layout.erb" => "False Layout <%= yield %>"
)]
end
@@ -42,7 +42,7 @@ def overwrite_false
end
def overwrite_string
- render :_template => ActionView::Template::Text.new("Hello string!"), :layout => "omg"
+ render :_template => ActionView::Template::Text.new("Hello string!"), :layout => "overwrite"
end
def overwrite_skip
@@ -68,7 +68,7 @@ class WithChildOfImplied < WithStringImpliedChild
end
class WithProc < Base
- layout proc { |c| "omg" }
+ layout proc { |c| "overwrite" }
def index
render :_template => ActionView::Template::Text.new("Hello proc!")
@@ -83,7 +83,7 @@ def index
end
private
def hello
- "omg"
+ "overwrite"
end
end
@@ -122,7 +122,7 @@ def objekt
end
class WithSymbolAndNoMethod < Base
- layout :omg_no_method
+ layout :no_method
def index
render :_template => ActionView::Template::Text.new("Hello boom!")
@@ -175,7 +175,7 @@ class TestBase < ActiveSupport::TestCase
test "when layout is overwriten by string in render, render new layout" do
controller = WithString.new
controller.process(:overwrite_string)
- assert_equal "OMGHI2U Hello string!", controller.response_body
+ assert_equal "Overwrite Hello string!", controller.response_body
end
test "when layout is overwriten by false in render, render no layout" do
@@ -209,13 +209,13 @@ class TestBase < ActiveSupport::TestCase
test "when layout is specified as a proc, call it and use the layout returned" do
controller = WithProc.new
controller.process(:index)
- assert_equal "OMGHI2U Hello proc!", controller.response_body
+ assert_equal "Overwrite Hello proc!", controller.response_body
end
test "when layout is specified as a symbol, call the requested method and use the layout returned" do
controller = WithSymbol.new
controller.process(:index)
- assert_equal "OMGHI2U Hello symbol!", controller.response_body
+ assert_equal "Overwrite Hello symbol!", controller.response_body
end
test "when layout is specified as a symbol and the method returns nil, don't use a layout" do
@@ -266,7 +266,7 @@ class TestBase < ActiveSupport::TestCase
test "raises an exception when specifying layout true" do
assert_raises ArgumentError do
Object.class_eval do
- class ::BadOmgFailLolLayout < AbstractControllerTests::Layouts::Base
+ class ::BadFailLayout < AbstractControllerTests::Layouts::Base
layout true
end
end
View
6 actionpack/test/controller/filters_test.rb
@@ -435,7 +435,7 @@ def filter_two
end
def non_yielding_filter
- @filters << "zomg it didn't yield"
+ @filters << "it didn't yield"
@filter_return_value
end
@@ -465,14 +465,14 @@ def test_after_filters_are_not_run_if_around_filter_returns_false
controller = NonYieldingAroundFilterController.new
controller.instance_variable_set "@filter_return_value", false
test_process(controller, "index")
- assert_equal ["filter_one", "zomg it didn't yield"], controller.assigns['filters']
+ assert_equal ["filter_one", "it didn't yield"], controller.assigns['filters']
end
def test_after_filters_are_not_run_if_around_filter_does_not_yield
controller = NonYieldingAroundFilterController.new
controller.instance_variable_set "@filter_return_value", true
test_process(controller, "index")
- assert_equal ["filter_one", "zomg it didn't yield"], controller.assigns['filters']
+ assert_equal ["filter_one", "it didn't yield"], controller.assigns['filters']
end
def test_added_filter_to_inheritance_graph
View
28 actionpack/test/controller/new_base/render_action_test.rb
@@ -119,9 +119,9 @@ class BasicController < ::ApplicationController
# Set the view path to an application view structure with layouts
self.view_paths = self.view_paths = [ActionView::FixtureResolver.new(
"render_action_with_application_layout/basic/hello_world.html.erb" => "Hello World!",
- "render_action_with_application_layout/basic/hello.html.builder" => "xml.p 'Omg'",
- "layouts/application.html.erb" => "OHAI <%= yield %> KTHXBAI",
- "layouts/greetings.html.erb" => "Greetings <%= yield %> Bai",
+ "render_action_with_application_layout/basic/hello.html.builder" => "xml.p 'Hello'",
+ "layouts/application.html.erb" => "Hi <%= yield %> OK, Bye",
+ "layouts/greetings.html.erb" => "Greetings <%= yield %> Bye",
"layouts/builder.html.builder" => "xml.html do\n xml << yield\nend"
)]
@@ -156,14 +156,14 @@ class LayoutTest < Rack::TestCase
test "rendering implicit application.html.erb as layout" do
get "/render_action_with_application_layout/basic/hello_world"
- assert_body "OHAI Hello World! KTHXBAI"
+ assert_body "Hi Hello World! OK, Bye"
assert_status 200
end
test "rendering with layout => true" do
get "/render_action_with_application_layout/basic/hello_world_with_layout"
- assert_body "OHAI Hello World! KTHXBAI"
+ assert_body "Hi Hello World! OK, Bye"
assert_status 200
end
@@ -184,7 +184,7 @@ class LayoutTest < Rack::TestCase
test "rendering with layout => 'greetings'" do
get "/render_action_with_application_layout/basic/hello_world_with_custom_layout"
- assert_body "Greetings Hello World! Bai"
+ assert_body "Greetings Hello World! Bye"
assert_status 200
end
end
@@ -194,7 +194,7 @@ class TestLayout < Rack::TestCase
test "builder works with layouts" do
get :with_builder_and_layout
- assert_response "<html>\n<p>Omg</p>\n</html>\n"
+ assert_response "<html>\n<p>Hello</p>\n</html>\n"
end
end
@@ -204,7 +204,7 @@ module RenderActionWithControllerLayout
class BasicController < ActionController::Base
self.view_paths = self.view_paths = [ActionView::FixtureResolver.new(
"render_action_with_controller_layout/basic/hello_world.html.erb" => "Hello World!",
- "layouts/render_action_with_controller_layout/basic.html.erb" => "With Controller Layout! <%= yield %> KTHXBAI"
+ "layouts/render_action_with_controller_layout/basic.html.erb" => "With Controller Layout! <%= yield %> Bye"
)]
def hello_world
@@ -234,14 +234,14 @@ class ControllerLayoutTest < Rack::TestCase
test "render hello_world and implicitly use <controller_path>.html.erb as a layout." do
get "/render_action_with_controller_layout/basic/hello_world"
- assert_body "With Controller Layout! Hello World! KTHXBAI"
+ assert_body "With Controller Layout! Hello World! Bye"
assert_status 200
end
test "rendering with layout => true" do
get "/render_action_with_controller_layout/basic/hello_world_with_layout"
- assert_body "With Controller Layout! Hello World! KTHXBAI"
+ assert_body "With Controller Layout! Hello World! Bye"
assert_status 200
end
@@ -265,8 +265,8 @@ module RenderActionWithBothLayouts
class BasicController < ActionController::Base
self.view_paths = [ActionView::FixtureResolver.new({
"render_action_with_both_layouts/basic/hello_world.html.erb" => "Hello World!",
- "layouts/application.html.erb" => "OHAI <%= yield %> KTHXBAI",
- "layouts/render_action_with_both_layouts/basic.html.erb" => "With Controller Layout! <%= yield %> KTHXBAI"
+ "layouts/application.html.erb" => "Oh Hi <%= yield %> Bye",
+ "layouts/render_action_with_both_layouts/basic.html.erb" => "With Controller Layout! <%= yield %> Bye"
})]
def hello_world
@@ -292,14 +292,14 @@ class ControllerLayoutTest < Rack::TestCase
test "rendering implicitly use <controller_path>.html.erb over application.html.erb as a layout" do
get "/render_action_with_both_layouts/basic/hello_world"
- assert_body "With Controller Layout! Hello World! KTHXBAI"
+ assert_body "With Controller Layout! Hello World! Bye"
assert_status 200
end
test "rendering with layout => true" do
get "/render_action_with_both_layouts/basic/hello_world_with_layout"
- assert_body "With Controller Layout! Hello World! KTHXBAI"
+ assert_body "With Controller Layout! Hello World! Bye"
assert_status 200
end
View
20 actionpack/test/controller/new_base/render_layout_test.rb
@@ -3,10 +3,10 @@
module ControllerLayouts
class ImplicitController < ::ApplicationController
self.view_paths = [ActionView::FixtureResolver.new(
- "layouts/application.html.erb" => "OMG <%= yield %> KTHXBAI",
+ "layouts/application.html.erb" => "Main <%= yield %> Layout",
"layouts/override.html.erb" => "Override! <%= yield %>",
"basic.html.erb" => "Hello world!",
- "controller_layouts/implicit/layout_false.html.erb" => "hai(layout_false.html.erb)"
+ "controller_layouts/implicit/layout_false.html.erb" => "hi(layout_false.html.erb)"
)]
def index
@@ -27,7 +27,7 @@ def builder_override
class ImplicitNameController < ::ApplicationController
self.view_paths = [ActionView::FixtureResolver.new(
- "layouts/controller_layouts/implicit_name.html.erb" => "OMGIMPLICIT <%= yield %> KTHXBAI",
+ "layouts/controller_layouts/implicit_name.html.erb" => "Implicit <%= yield %> Layout",
"basic.html.erb" => "Hello world!"
)]
@@ -40,14 +40,14 @@ class RenderLayoutTest < Rack::TestCase
test "rendering a normal template, but using the implicit layout" do
get "/controller_layouts/implicit/index"
- assert_body "OMG Hello world! KTHXBAI"
+ assert_body "Main Hello world! Layout"
assert_status 200
end
test "rendering a normal template, but using an implicit NAMED layout" do
get "/controller_layouts/implicit_name/index"
- assert_body "OMGIMPLICIT Hello world! KTHXBAI"
+ assert_body "Implicit Hello world! Layout"
assert_status 200
end
@@ -63,15 +63,15 @@ class LayoutOptionsTest < Rack::TestCase
test "rendering with :layout => false leaves out the implicit layout" do
get :layout_false
- assert_response "hai(layout_false.html.erb)"
+ assert_response "hi(layout_false.html.erb)"
end
end
class MismatchFormatController < ::ApplicationController
self.view_paths = [ActionView::FixtureResolver.new(
"layouts/application.html.erb" => "<html><%= yield %></html>",
- "controller_layouts/mismatch_format/index.js.rjs" => "page[:test].omg",
- "controller_layouts/mismatch_format/implicit.rjs" => "page[:test].omg"
+ "controller_layouts/mismatch_format/index.js.rjs" => "page[:test].ext",
+ "controller_layouts/mismatch_format/implicit.rjs" => "page[:test].ext"
)]
def explicit
@@ -84,12 +84,12 @@ class MismatchFormatTest < Rack::TestCase
test "if JS is selected, an HTML template is not also selected" do
get :index, "format" => "js"
- assert_response "$(\"test\").omg();"
+ assert_response "$(\"test\").ext();"
end
test "if JS is implicitly selected, an HTML template is not also selected" do
get :implicit
- assert_response "$(\"test\").omg();"
+ assert_response "$(\"test\").ext();"
end
test "if an HTML template is explicitly provides for a JS template, an error is raised" do
View
4 actionpack/test/controller/new_base/render_partial_test.rb
@@ -5,7 +5,7 @@ module RenderPartial
class BasicController < ActionController::Base
self.view_paths = [ActionView::FixtureResolver.new(
- "render_partial/basic/_basic.html.erb" => "OMG!",
+ "render_partial/basic/_basic.html.erb" => "BasicPartial!",
"render_partial/basic/basic.html.erb" => "<%= @test_unchanged = 'goodbye' %><%= render :partial => 'basic' %><%= @test_unchanged %>"
)]
@@ -20,7 +20,7 @@ class TestPartial < Rack::TestCase
test "rendering a partial in ActionView doesn't pull the ivars again from the controller" do
get :changing
- assert_response("goodbyeOMG!goodbye")
+ assert_response("goodbyeBasicPartial!goodbye")
end
end
View
4 actionpack/test/controller/subscriber_test.rb
@@ -13,7 +13,7 @@ def redirector
end
def data_sender
- send_data "cool data", :filename => "omg.txt"
+ send_data "cool data", :filename => "file.txt"
end
def xfile_sender
@@ -121,7 +121,7 @@ def test_send_data
wait
assert_equal 3, logs.size
- assert_match /Sent data omg\.txt/, logs[1]
+ assert_match /Sent data file\.txt/, logs[1]
end
def test_send_file
View
4 actionpack/test/dispatch/mime_type_test.rb
@@ -23,7 +23,7 @@ class MimeTypeTest < ActiveSupport::TestCase
end
# Accept header send with user HTTP_USER_AGENT: Sunrise/0.42j (Windows XP)
- test "parse crappy broken acceptlines" do
+ test "parse broken acceptlines" do
accept = "text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/*,,*/*;q=0.5"
expect = [Mime::HTML, Mime::XML, "image/*", Mime::TEXT, Mime::ALL]
assert_equal expect, Mime::Type.parse(accept).collect { |c| c.to_s }
@@ -31,7 +31,7 @@ class MimeTypeTest < ActiveSupport::TestCase
# Accept header send with user HTTP_USER_AGENT: Mozilla/4.0
# (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; InfoPath.1)
- test "parse crappy broken acceptlines2" do
+ test "parse other broken acceptlines" do
accept = "image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, , pronto/1.00.00, sslvpn/1.00.00.00, */*"
expect = ['image/gif', 'image/x-xbitmap', 'image/jpeg','image/pjpeg', 'application/x-shockwave-flash', 'application/vnd.ms-excel', 'application/vnd.ms-powerpoint', 'application/msword', 'pronto/1.00.00', 'sslvpn/1.00.00.00', Mime::ALL ]
assert_equal expect, Mime::Type.parse(accept).collect { |c| c.to_s }
View
4 actionpack/test/template/html-scanner/sanitizer_test.rb
@@ -48,7 +48,7 @@ def test_sanitize_script
assert_sanitized "a b c<script language=\"Javascript\">blah blah blah</script>d e f", "a b cd e f"
end
- # fucked
+ # TODO: Clean up
def test_sanitize_js_handlers
raw = %{onthis="do that" <a href="#" onclick="hello" name="foo" onbogus="remove me">hello</a>}
assert_sanitized raw, %{onthis="do that" <a name="foo" href="#">hello</a>}
@@ -193,7 +193,7 @@ def test_should_not_fall_for_ridiculous_hack
assert_sanitized img_hack, "<img>"
end
- # fucked
+ # TODO: Clean up
def test_should_sanitize_attributes
assert_sanitized %(<SPAN title="'><script>alert()</script>">blah</SPAN>), %(<span title="'&gt;&lt;script&gt;alert()&lt;/script&gt;">blah</span>)
end
View
4 actionpack/test/template/subscriber_test.rb
@@ -33,7 +33,7 @@ def test_render_file_template
end
def test_render_text_template
- @view.render(:text => "OMG")
+ @view.render(:text => "TEXT")
wait
assert_equal 1, @logger.logged(:info).size
@@ -41,7 +41,7 @@ def test_render_text_template
end
def test_render_inline_template
- @view.render(:inline => "<%= 'OMG' %>")
+ @view.render(:inline => "<%= 'TEXT' %>")
wait
assert_equal 1, @logger.logged(:info).size
View
8 activesupport/test/callbacks_test.rb
@@ -264,12 +264,12 @@ class HyphenatedCallbacks
define_callbacks :save
attr_reader :stuff
- set_callback :save, :before, :omg, :per_key => {:if => :yes}
+ set_callback :save, :before, :action, :per_key => {:if => :yes}
def yes() true end
- def omg
- @stuff = "OMG"
+ def action
+ @stuff = "ACTION"
end
def save
@@ -522,7 +522,7 @@ class HyphenatedKeyTest < Test::Unit::TestCase
def test_save
obj = HyphenatedCallbacks.new
obj.save
- assert_equal obj.stuff, "OMG"
+ assert_equal obj.stuff, "ACTION"
end
end
end
View
2  activesupport/test/fixtures/custom.rb
@@ -0,0 +1,2 @@
+class Custom
+end
View
2  activesupport/test/fixtures/omgomg.rb
@@ -1,2 +0,0 @@
-class OmgOmg
-end
View
12 activesupport/test/isolation_test.rb
@@ -59,15 +59,15 @@ def teardown
end
test "resets requires one" do
- assert !defined?(OmgOmg)
- assert_equal 0, $LOADED_FEATURES.grep(/fixtures\/omgomg/).size
- require File.expand_path(File.join(File.dirname(__FILE__), "fixtures", "omgomg"))
+ assert !defined?(Custom)
+ assert_equal 0, $LOADED_FEATURES.grep(/fixtures\/custom/).size
+ require File.expand_path(File.join(File.dirname(__FILE__), "fixtures", "custom"))
end
test "resets requires two" do
- assert !defined?(OmgOmg)
- assert_equal 0, $LOADED_FEATURES.grep(/fixtures\/omgomg/).size
- require File.expand_path(File.join(File.dirname(__FILE__), "fixtures", "omgomg"))
+ assert !defined?(Custom)
+ assert_equal 0, $LOADED_FEATURES.grep(/fixtures\/custom/).size
+ require File.expand_path(File.join(File.dirname(__FILE__), "fixtures", "custom"))
end
end
else
View
6 activesupport/test/notifications_test.rb
@@ -77,7 +77,7 @@ def test_instrument_returns_block_result
def test_instrument_with_bang_returns_result_even_on_failure
begin
instrument!(:awesome, :payload => "notifications") do
- raise "OMG"
+ raise "FAIL"
end
flunk
rescue
@@ -126,10 +126,10 @@ def test_nested_events_can_be_instrumented
def test_instrument_does_not_publish_when_exception_is_raised
begin
instrument(:awesome, :payload => "notifications") do
- raise "OMG"
+ raise "FAIL"
end
rescue RuntimeError => e
- assert_equal "OMG", e.message
+ assert_equal "FAIL", e.message
end
drain
View
2  railties/guides/source/rails_application_templates.textile
@@ -88,7 +88,7 @@ Please note that you need to +git :init+ before you can install a plugin as a su
Or use plain old SVN :
<ruby>
-plugin 'wtfsvn', :svn => 'svn://crap.com/wtf/trunk'
+plugin 'usingsvn', :svn => 'svn://example.com/usingsvn/trunk'
</ruby>
h4. vendor/lib/file/initializer(filename, data = nil, &block)
View
2  railties/test/initializable_test.rb
@@ -10,7 +10,7 @@ class << self
attr_accessor :foo, :bar
end
- initializer :omg do
+ initializer :start do
@foo ||= 0
@foo += 1
end

63 comments on commit 2ebea1c

@grimen

This was hilarious. XD

@xenda

Damn if that wasn't funny :P

@judofyr

ROFLMAO!

@noxoc

LOLWTF?!

@topfunky

Does this mean that Rails is now ready for the enterprise?

@y8

LOLWY? :(

@zmack

OMGHI

@chalkers

@topfunky - if these were kept in it'd show that it was ALREADY enterprise ready!

@jm

@topfunky - Plainly not. I don't see anything about the addition of an "OMGFactoryFactory" class or something of that sort.

@hallucinations

ROFLAMAO!

@grimen

I wish this was like the last commit before Rails 3 frozen; that would have been so awesome. B)

@gilesbowkett

lol zomg lmao

@mikel
Collaborator

@grimen, I tried to hold off till the last minute :)

@mislav

Epic.

@kaichen

Ω

@geomic

If anything, you should've left OMGIMPLICIT <%= yield %> KTHXBAI

:P Hilarious!

@edendevelopment

Haha, this diff is so funny to read! I actually considered taking the Lighthouse ticket to do this on the Rails Bug Mash day, but i didn't, so it's nice to see the result. Good work!

My favourite bit was the BadOmgFailLolLayout.

@sermoa

whoops, that last comment was me, not edendevelopment. FAIL AIMEE logged in on the wrong username.

@namxam

Why remove it… coding is so much more fun like this ;)

@tukan

Epic fail... let's build enterprise so?

@markbao

Awesome diff. This is exactly how I write code.

@vilcans

Good riddance. It's more important for code to be simple and clear than "fun" to read (which is not so fun when you're trying to understand difficult code).

@windock

We'll all die.

@benlovell

A little part of me just died with this commit.

@kef

zOMG - a kitteh died for each change this commit.

@windock

You made it on top of hacker news. Congratz.

@paukul

benlovell: "A little part of me just died with this commit."
I second that

@lukaszkorecki

"Revert. revert, revert!"

@jjulian

You're all growns up.

@mrb

Classic.

@rkh

Fork rails, those changes are in-acceptable!

@wfarr

I demand omghax!

@valo

This is a milestone in the Rails' history ROFL

@mishawagon

You damn atheists! There is no hope for you in the afterlife.

@jacqui

I just spilled out a little for my fallen OmgOmgz :(

@jpsilvashy

Wow... The problem is that nobody would actually consider "Hi hello, ok thanks thanks bye" and improvement over "OHAI, KTHXBAI" would they?

@JonGretar

Like with some features that have been taken out of Rails core... Can we expect this to be released as a plugin instead?

@artagnon

assert !defined?(OmgOmg) really made me laugh!

@grimen

@JonGretar: act_as_omg

@pboling

For everyone but vilcans:
If you need to get a fix for LOLcode every now and then, and can no longer get it from Rails Core... check out my gem CsvPirate, written entirely in Pirate:
http://github.com/pboling/csv_pirate

Yes, I admit, the code is confusing... because few people speak pirate anymore. But whose fault is that?

@gtd

I'm utterly indifferent, but just wanted to join in on the hog-piling fun: death to LOL

@ceritium

OMGWTFBBQ!

@tcoxon

Aw, such a shame...

@byllc

If you are going to replace juvenile at least replace it with clever

@denniscollective

my vote is for a revert.

@carllerche
Collaborator

I hope people don't git blame the removed lines...

@solidsnack

Please restore the LOLz.

@seydar

i'd like the lolz back in my tests please

@postmodern

The LOLz are in the mind of the loller.

@jimgreer

They fucking took out the zOMGs?!

@luikore

Inhuman slaughter ... You should use "o#{109.chr}g" etc from now on.

@kronn

OMG -> FAIL? #FAIL?

Yo Dawg, I heard u liek memes so i put a FAIL in your RAILS so u can scale while u remove OMG?

@radar

I refuse to use Rails 3 until all these are put back.

Reasoning?

"omg" is shorter than "overwrite" and so the loading of the framework will be quicker, right? :)

@galex

Ahah :D

@raldred

great read, many lennys

@mikel
Collaborator

@radar,
yes, using 'omg' is faster... we had to take a performance hit on the Rails 3 code base to put this in...
but for every gain there is a sacrifice
:)

@timnovinger

How would OMG pluralize?

@jbarnette

OMGZ, obviously.

@mubi

OMGZ0RZ

@indrekj

Great :P

@agrimm

You've improved code quality: WTFs/minute have decreased!

Please sign in to comment.
Something went wrong with that request. Please try again.