Permalink
Browse files

Add a title Helper and Guard

  • Loading branch information...
bomatson committed May 21, 2012
1 parent d5e617d commit e7ab7864d8a763ee168a8563fc0c1cc04a1c8fd8
View
@@ -13,4 +13,11 @@
# Ignore all logfiles and tempfiles.
/log/*.log
/tmp
-.DS_Store
+
+# Ignore other unneeded files.
+doc/
+*.swp
+*~
+.project
+.DS_Store
+bundler_stubs/
View
1 .rspec
@@ -1 +1,2 @@
--colour
+--drb
View
@@ -24,14 +24,15 @@ end
group :test do
gem 'capybara', '1.1.2'
+ gem 'rspec-rails', '2.9.0'
gem 'factory_girl_rails', '1.4.0'
gem 'cucumber-rails', '1.2.1', :require => false
gem 'database_cleaner', '0.7.0'
gem 'guard-spork', '0.3.2'
gem 'spork', '0.9.0'
gem 'launchy', '2.1.0'
- # gem 'rb-fsevent', '0.4.3.1', require: false
- # gem 'growl', '1.0.3'
+ gem 'rb-fsevent', '0.4.3.1', require: false
+ gem 'growl', '1.0.3'
end
group :production do
View
@@ -75,6 +75,7 @@ GEM
ffi (1.0.11)
gherkin (2.10.0)
json (>= 1.4.6)
+ growl (1.0.3)
guard (1.0.3)
ffi (>= 0.5.0)
thor (>= 0.14.6)
@@ -126,6 +127,7 @@ GEM
rdoc (~> 3.4)
thor (~> 0.14.6)
rake (0.9.2.2)
+ rb-fsevent (0.4.3.1)
rdoc (3.12)
json (~> 1.4)
rspec (2.9.0)
@@ -185,12 +187,14 @@ DEPENDENCIES
database_cleaner (= 0.7.0)
factory_girl_rails (= 1.4.0)
faker (= 1.0.1)
+ growl (= 1.0.3)
guard-rspec (= 0.5.5)
guard-spork (= 0.3.2)
jquery-rails (= 2.0.0)
launchy (= 2.1.0)
pg (= 0.12.2)
rails (= 3.2.3)
+ rb-fsevent (= 0.4.3.1)
rspec-rails (= 2.9.0)
sass-rails (= 3.2.4)
spork (= 0.9.0)
@@ -1,2 +1,14 @@
module ApplicationHelper
+
+ # Returns the full title on a per-page basis
+ def full_title(page_title)
+ base_title = 'Ruby on Rails Tutorial Sample App'
+ if page_title.empty?
+ base_title
+ else
+ "#{base_title} | #{page_title}"
+ end
+ end
end
+
+
@@ -1,7 +1,7 @@
<!DOCTYPE html>
<html>
<head>
- <title>Ruby on Rails Tutorial Sample App | <%= yield(:title)%></title>
+ <title><%= full_title(yield(:title))%></title>
<%= stylesheet_link_tag "application", :media => "all" %>
<%= javascript_include_tag "application" %>
<%= csrf_meta_tags %>
@@ -7,3 +7,5 @@
To get help on this sample app, see the
<a href="http://railstutorial.org/book">Rails Book</a>
</p>
+
+
@@ -1,8 +1,8 @@
-<% provide(:title, 'Home') %>
+
<h1>Sample App</h1>
<p>
This is the home page for the
<a href="http://railstutorial.org/">Ruby on Rails Tutorial</a>
sample application.
-</p>
+</p>
@@ -12,7 +12,12 @@
it "should have the right title" do
visit '/static_pages/home'
page.should have_selector('title',
- :text => 'Ruby on Rails Tutorial Sample App | Home')
+ :text => "Ruby on Rails Tutorial Sample App")
+ end
+
+ it "should not have a custom page title" do
+ visit '/static_pages/home'
+ page.should_not have_selector('title', :text => '| Home')
end
end
View
@@ -1,3 +1,78 @@
+require 'rubygems'
+require 'spork'
+#uncomment the following line to use spork with the debugger
+#require 'spork/ext/ruby-debug'
+
+Spork.prefork do
+ # Loading more in this block will cause your tests to run faster. However,
+ # if you change any configuration or code from libraries loaded here, you'll
+ # need to restart spork for it take effect.
+ # This file is copied to spec/ when you run 'rails generate rspec:install'
+ ENV["RAILS_ENV"] ||= 'test'
+ require File.expand_path("../../config/environment", __FILE__)
+ require 'rspec/rails'
+ require 'rspec/autorun'
+
+ # Requires supporting ruby files with custom matchers and macros, etc,
+ # in spec/support/ and its subdirectories.
+ Dir[Rails.root.join("spec/support/**/*.rb")].each {|f| require f}
+
+ RSpec.configure do |config|
+ # == Mock Framework
+ #
+ # If you prefer to use mocha, flexmock or RR, uncomment the appropriate line: #
+ # config.mock_with :mocha
+ # config.mock_with :flexmock # config.mock_with :rr config.mock_with :rspec
+ # Remove this line if you're not using ActiveRecord or ActiveRecord fixtures
+ config.fixture_path = "#{::Rails.root}/spec/fixtures"
+
+ # If you're not using ActiveRecord, or you'd prefer not to run each of your # examples within a transaction, remove the following line or assign false # instead of true.
+ config.use_transactional_fixtures = true
+
+ # If true, the base class of anonymous controllers will be inferred
+ # automatically. This will be the default behavior in future versions of # rspec-rails.
+ config.infer_base_class_for_anonymous_controllers = false
+ end
+
+end
+
+Spork.each_run do
+ # This code will be run each time you run your specs.
+
+end
+
+# --- Instructions ---
+# Sort the contents of this file into a Spork.prefork and a Spork.each_run
+# block.
+#
+# The Spork.prefork block is run only once when the spork server is started.
+# You typically want to place most of your (slow) initializer code in here, in
+# particular, require'ing any 3rd-party gems that you don't normally modify
+# during development.
+#
+# The Spork.each_run block is run each time you run your specs. In case you
+# need to load files that tend to change during development, require them here.
+# With Rails, your application modules are loaded automatically, so sometimes
+# this block can remain empty.
+#
+# Note: You can modify files loaded *from* the Spork.each_run block without
+# restarting the spork server. However, this file itself will not be reloaded,
+# so if you change any of the code inside the each_run block, you still need to
+# restart the server. In general, if you have non-trivial code in this file,
+# it's advisable to move it into a separate file so you can easily edit it
+# without restarting spork. (For example, with RSpec, you could move
+# non-trivial code into a file spec/support/my_helper.rb, making sure that the
+# spec/support/* files are require'd from inside the each_run block.)
+#
+# Any code that is left outside the two blocks will be run during preforking
+# *and* during each_run -- that's probably not what you want.
+#
+# These instructions should self-destruct in 10 seconds. If they don't, feel
+# free to delete them.
+
+
+
+
# This file is copied to spec/ when you run 'rails generate rspec:install'
ENV["RAILS_ENV"] ||= 'test'
require File.expand_path("../../config/environment", __FILE__)

0 comments on commit e7ab786

Please sign in to comment.