tophat 1.0.0 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
data/README.textile CHANGED
@@ -2,6 +2,21 @@ h1. TopHat
2
2
 
3
3
  TopHat is a set of view helpers to keep your layouts and views DRY.
4
4
 
5
+ h2. Installation
6
+
7
+ To install as a gem, add the following to @config/environment.rb@:
8
+
9
+ <pre>
10
+ config.gem 'tophat', :version => '>= x.x'
11
+ </pre>
12
+
13
+ To install as a plugin:
14
+
15
+ <pre>
16
+ script/plugin install git://github.com/spagalloco/tophat.git
17
+ </pre>
18
+
19
+
5
20
  h2. Layout Usage
6
21
 
7
22
  You'll want to add the relevant TopHat helpers to your layouts:
@@ -9,8 +24,8 @@ You'll want to add the relevant TopHat helpers to your layouts:
9
24
  <pre>
10
25
  <head>
11
26
  <%= title :site => "My website" %>
12
- <%= keywords "Some default, keywords, that can be overridden" %>
13
- <%= description "A description" %>
27
+ <%= keywords :default => "Some default, keywords, that can be overridden" %>
28
+ <%= description :default => "A description" %>
14
29
  </head>
15
30
  </pre>
16
31
 
data/lib/tophat.rb CHANGED
@@ -3,8 +3,10 @@ require 'tophat/version'
3
3
  require 'tophat/core_extensions'
4
4
  require 'tophat/title'
5
5
  require 'tophat/meta'
6
+ require 'tophat/stylesheet'
6
7
 
7
8
  Hash.send :include, TopHat::HashOnly unless Hash.instance_methods.include?("only")
8
9
 
9
- ActionView::Base.send :include, TopHat::TitleHelpers
10
- ActionView::Base.send :include, TopHat::MetaHelpers
10
+ ActionView::Base.send :include, TopHat::TitleHelper
11
+ ActionView::Base.send :include, TopHat::MetaHelper
12
+ ActionView::Base.send :include, TopHat::StylesheetHelper
data/lib/tophat/meta.rb CHANGED
@@ -1,9 +1,14 @@
1
1
  module TopHat
2
- module MetaHelpers
2
+ module MetaHelper
3
3
 
4
- def meta_tag(options)
4
+ def meta_tag(options={})
5
5
  # tag :meta, :name => options[:name], :content => options[:content]
6
- "<meta name=\"#{options[:name]}\" content=\"#{options[:content]}\" />"
6
+ if options[:content] && (options[:name] || options[:http_equiv])
7
+ t = "<meta "
8
+ t << "name=\"#{options[:name]}\"" if options[:name]
9
+ t << "http-equiv=\"#{options[:http_equiv]}\"" if options[:http_equiv]
10
+ t << " content=\"#{options[:content]}\" />"
11
+ end
7
12
  end
8
13
 
9
14
  # page descriptions
@@ -40,20 +45,18 @@ module TopHat
40
45
  options ||= {}
41
46
  options.merge!(:name => 'keywords')
42
47
 
43
- if @tophat_keywords.blank?
44
- keywords = options.delete(:default)
45
-
46
- if keywords && keywords.is_a?(Array)
47
- keywords = keywords.join(', ')
48
- end
49
-
50
- options.merge!(:content => keywords)
51
-
52
- else
53
- options.merge!(:content => @tophat_keywords)
54
- end
48
+ default_keywords = options.delete(:default) || []
49
+ display_keywords = @tophat_keywords.blank? ? default_keywords : @tophat_keywords
50
+
51
+ # normalize the keywords
52
+ default_keywords = default_keywords.is_a?(String) ? default_keywords.split(', ') : default_keywords
53
+ display_keywords = display_keywords.is_a?(String) ? display_keywords.split(', ') : display_keywords
54
+
55
+ # merge keyword arrays if merge is set to true
56
+ display_keywords += default_keywords if options.delete(:merge_default) == true
55
57
 
56
- meta_tag(options) if options[:content]
58
+ options.merge!(:content => display_keywords.uniq.join(', '))
59
+ meta_tag(options) if display_keywords.any?
57
60
  end
58
61
  end
59
62
  end
@@ -0,0 +1,80 @@
1
+ module TopHat
2
+ module StylesheetHelper
3
+
4
+ def ie_5_conditional(operator = nil, &block)
5
+ ie_conditional(5, operator, &block)
6
+ end
7
+
8
+ def ie_5_5_conditional(operator = nil, &block)
9
+ ie_conditional(5.5, operator, &block)
10
+ end
11
+
12
+ def ie_6_conditional(operator = nil, &block)
13
+ ie_conditional(6, operator, &block)
14
+ end
15
+
16
+ def ie_7_conditional(operator = nil, &block)
17
+ ie_conditional(7, operator, &block)
18
+ end
19
+
20
+ def ie_8_conditional(operator = nil, &block)
21
+ ie_conditional(8, operator, &block)
22
+ end
23
+
24
+ def ie_conditional(version = nil, operator = nil, &block)
25
+ browser_conditional('IE', version, operator, &block)
26
+ end
27
+
28
+ def gecko_conditional(operator = nil, &block)
29
+ browser_conditional('Gecko', nil, operator, &block)
30
+ end
31
+
32
+ def webkit_conditional(operator = nil, &block)
33
+ browser_conditional('Webkit', nil, operator, &block)
34
+ end
35
+
36
+ def mobile_safari_conditional(operator = nil, &block)
37
+ browser_conditional('SafMob', nil, operator, &block)
38
+ end
39
+
40
+ def opera_conditional(operator = nil, &block)
41
+ browser_conditional('Opera', nil, operator, &block)
42
+ end
43
+
44
+ def ie_mac_conditional(operator = nil, &block)
45
+ browser_conditional('IEMac', nil, operator, &block)
46
+ end
47
+
48
+ def konqueror_conditional(operator = nil, &block)
49
+ browser_conditional('Konq', nil, operator, &block)
50
+ end
51
+
52
+ def ie_mobile_conditional(operator = nil, &block)
53
+ browser_conditional('IEmob', nil, operator, &block)
54
+ end
55
+
56
+ def psp_conditional(operator = nil, &block)
57
+ browser_conditional('PSP', nil, operator, &block)
58
+ end
59
+
60
+ def net_front_conditional(operator = nil, &block)
61
+ browser_conditional('NetF', nil, operator, &block)
62
+ end
63
+
64
+ private
65
+
66
+ def browser_conditional(browser, version = nil, operator = nil, &block)
67
+ unless operator.blank?
68
+ operator = operator.to_s
69
+ operator << " " unless operator == '!'
70
+ end
71
+
72
+ browser_version = version.blank? ? "" : " #{version}"
73
+
74
+ output = "<!--[if #{operator}#{browser}#{browser_version}]>\n"
75
+ output << yield if block_given?
76
+ output << "\n<![endif]-->"
77
+ end
78
+
79
+ end
80
+ end
data/lib/tophat/title.rb CHANGED
@@ -1,22 +1,25 @@
1
1
  module TopHat
2
- module TitleHelpers
2
+ module TitleHelper
3
3
 
4
- def title(title, options={})
4
+ def title(title=nil, options={})
5
5
  if title.is_a? String
6
- save_title(title, options)
6
+ save_tophat_title(title, options)
7
7
  else
8
- display_title(title)
8
+ display_tophat_title(title)
9
9
  end
10
10
  end
11
+
12
+ private
11
13
 
12
- def save_title(title, options)
14
+ def save_tophat_title(title, options)
13
15
  @tophat_title = title.gsub(/<\/?[^>]*>/, '')
14
16
  @tophat_title_options = options
15
17
  title
16
18
  end
17
19
 
18
- def display_title(options)
19
- options = options.merge(@tophat_title_options) unless @tophat_title_options.nil? || @tophat_title_options.empty?
20
+ def display_tophat_title(options={})
21
+ options ||= {}
22
+ options = options.merge(@tophat_title_options) unless @tophat_title_options.nil?
20
23
 
21
24
  # Prefix (leading space)
22
25
  if options[:prefix]
@@ -28,11 +31,7 @@ module TopHat
28
31
  end
29
32
 
30
33
  # Separator
31
- unless options[:separator].blank?
32
- separator = options[:separator]
33
- else
34
- separator = '|'
35
- end
34
+ separator = options[:separator] || ''
36
35
 
37
36
  # Suffix (trailing space)
38
37
  if options[:suffix]
@@ -43,7 +42,8 @@ module TopHat
43
42
  suffix = ' '
44
43
  end
45
44
 
46
- site_name = options[:site]
45
+ # site name
46
+ site_name = options[:site] || ''
47
47
 
48
48
  # Lowercase title?
49
49
  if options[:lowercase] == true
@@ -69,18 +69,23 @@ module TopHat
69
69
  end
70
70
 
71
71
  # Set website/page order
72
- unless @tophat_title.blank?
73
- if @tophat_reverse == true
72
+ if @tophat_title.blank?
73
+ # If title is blank, return only website name
74
+ content_tag :title, site_name if options[:site]
75
+ else
76
+ display_title = if @tophat_reverse == true
74
77
  # Reverse order => "Page : Website"
75
- return content_tag(:title, @tophat_title + prefix + separator + suffix + site_name)
78
+ @tophat_title + prefix + separator + suffix + site_name
76
79
  else
77
80
  # Standard order => "Website : Page"
78
- return content_tag(:title, site_name + prefix + separator + suffix + @tophat_title)
81
+ site_name + prefix + separator + suffix + @tophat_title
79
82
  end
83
+
84
+ return content_tag(:title, display_title.strip)
80
85
  end
81
86
 
82
- # If title is blank, return only website name
83
- content_tag :title, site_name if options[:site]
87
+
88
+
84
89
  end
85
90
  alias t title
86
91
 
@@ -1,3 +1,3 @@
1
1
  module TopHat
2
- VERSION = '1.0.0'
2
+ VERSION = '1.1.0'
3
3
  end
data/test/helper.rb CHANGED
@@ -2,6 +2,7 @@ require 'rubygems'
2
2
  require 'test/unit'
3
3
  require 'action_view'
4
4
  require 'shoulda'
5
+ require 'action_controller'
5
6
 
6
7
  $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
7
8
  $LOAD_PATH.unshift(File.dirname(__FILE__))
data/test/test_tophat.rb CHANGED
@@ -9,8 +9,9 @@ class TopHatPluginTestCase < Test::Unit::TestCase
9
9
  end
10
10
 
11
11
  should "be mixed into ActionView::Base" do
12
- assert ActionView::Base.included_modules.include?(TopHat::TitleHelpers)
13
- assert ActionView::Base.included_modules.include?(TopHat::MetaHelpers)
12
+ assert ActionView::Base.included_modules.include?(TopHat::TitleHelper)
13
+ assert ActionView::Base.included_modules.include?(TopHat::MetaHelper)
14
+ assert ActionView::Base.included_modules.include?(TopHat::StylesheetHelper)
14
15
  end
15
16
 
16
17
  should "respond to 'title' helper" do
@@ -28,6 +29,26 @@ class TopHatPluginTestCase < Test::Unit::TestCase
28
29
  should "respond to 'keywords' helper" do
29
30
  assert @template.respond_to?(:keywords)
30
31
  end
32
+
33
+ should "respondo to 'ie_5_conditional' helper" do
34
+ assert @template.respond_to?(:ie_5_conditional)
35
+ end
36
+
37
+ should "respondo to 'ie_5_5_conditional' helper" do
38
+ assert @template.respond_to?(:ie_5_5_conditional)
39
+ end
40
+
41
+ should "respondo to 'ie_6_conditional' helper" do
42
+ assert @template.respond_to?(:ie_6_conditional)
43
+ end
44
+
45
+ should "respond to 'ie_7_conditional' helper" do
46
+ assert @template.respond_to?(:ie_7_conditional)
47
+ end
48
+
49
+ should "respond to 'ie_8_conditional' helper" do
50
+ assert @template.respond_to?(:ie_8_conditional)
51
+ end
31
52
 
32
53
  end
33
54
 
@@ -2,7 +2,7 @@ require 'helper'
2
2
 
3
3
  class TopHatMetaTestCase < Test::Unit::TestCase
4
4
 
5
- context "using the meta helpers" do
5
+ context "using the meta helper" do
6
6
 
7
7
  setup do
8
8
  @template = ActionView::Base.new
@@ -46,6 +46,11 @@ class TopHatMetaTestCase < Test::Unit::TestCase
46
46
  assert_nil @template.keywords
47
47
  end
48
48
 
49
+ should "merge default tags with page tags, when merge_default is set to true" do
50
+ @template.keywords("Stu, Pete")
51
+ assert_equal @template.keywords(:default => "John, Paul, George, Ringo", :merge_default => true), "<meta name=\"keywords\" content=\"Stu, Pete, John, Paul, George, Ringo\" />"
52
+ end
53
+
49
54
  end
50
55
 
51
56
  context "descriptions" do
@@ -66,6 +71,20 @@ class TopHatMetaTestCase < Test::Unit::TestCase
66
71
 
67
72
  end
68
73
 
74
+ context "meta" do
75
+
76
+ should "render properly" do
77
+ assert_equal @template.meta_tag(:name => 'viewport', :content => 'width=device-width'), "<meta name=\"viewport\" content=\"width=device-width\" />"
78
+ assert_equal @template.meta_tag(:name => 'robots', :content => 'all'), "<meta name=\"robots\" content=\"all\" />"
79
+ assert_equal @template.meta_tag(:http_equiv => 'Content-Language', :content => 'en-us'), "<meta http-equiv=\"Content-Language\" content=\"en-us\" />"
80
+ end
81
+
82
+ should "not render when no arguments are passed" do
83
+ assert_nil @template.meta_tag
84
+ end
85
+
86
+ end
87
+
69
88
  end
70
89
 
71
90
  end
@@ -0,0 +1,109 @@
1
+ require 'helper'
2
+
3
+ class TopHatStylesheetTestCase < Test::Unit::TestCase
4
+
5
+ context "using the stylesheet helper" do
6
+
7
+ setup do
8
+ @template = ActionView::Base.new
9
+ end
10
+
11
+ context "stylesheets" do
12
+ setup do
13
+ @stylesheet = "ie.css"
14
+ end
15
+
16
+ should "define IE conditionals" do
17
+ assert_equal @template.ie_5_conditional {
18
+ @template.stylesheet_link_tag(@stylesheet)
19
+ }, "<!--[if IE 5]>\n<link href=\"/stylesheets/ie.css\" media=\"screen\" rel=\"stylesheet\" type=\"text/css\" />\n<![endif]-->"
20
+
21
+ assert_equal @template.ie_5_5_conditional {
22
+ @template.stylesheet_link_tag(@stylesheet)
23
+ }, "<!--[if IE 5.5]>\n<link href=\"/stylesheets/ie.css\" media=\"screen\" rel=\"stylesheet\" type=\"text/css\" />\n<![endif]-->"
24
+
25
+ assert_equal @template.ie_6_conditional {
26
+ @template.stylesheet_link_tag(@stylesheet)
27
+ }, "<!--[if IE 6]>\n<link href=\"/stylesheets/ie.css\" media=\"screen\" rel=\"stylesheet\" type=\"text/css\" />\n<![endif]-->"
28
+
29
+ assert_equal @template.ie_7_conditional {
30
+ @template.stylesheet_link_tag(@stylesheet)
31
+ }, "<!--[if IE 7]>\n<link href=\"/stylesheets/ie.css\" media=\"screen\" rel=\"stylesheet\" type=\"text/css\" />\n<![endif]-->"
32
+
33
+ assert_equal @template.ie_8_conditional {
34
+ @template.stylesheet_link_tag(@stylesheet)
35
+ }, "<!--[if IE 8]>\n<link href=\"/stylesheets/ie.css\" media=\"screen\" rel=\"stylesheet\" type=\"text/css\" />\n<![endif]-->"
36
+ end
37
+
38
+ should "render defined IE conditional with greater than operator" do
39
+ assert_equal @template.ie_5_conditional(:gt) {
40
+ @template.stylesheet_link_tag(@stylesheet)
41
+ }, "<!--[if gt IE 5]>\n<link href=\"/stylesheets/ie.css\" media=\"screen\" rel=\"stylesheet\" type=\"text/css\" />\n<![endif]-->"
42
+
43
+ assert_equal @template.ie_5_5_conditional(:gt) {
44
+ @template.stylesheet_link_tag(@stylesheet)
45
+ }, "<!--[if gt IE 5.5]>\n<link href=\"/stylesheets/ie.css\" media=\"screen\" rel=\"stylesheet\" type=\"text/css\" />\n<![endif]-->"
46
+ end
47
+
48
+ should "render defined IE conditional with greater than or equal to operator" do
49
+ assert_equal @template.ie_5_conditional(:gte) {
50
+ @template.stylesheet_link_tag(@stylesheet)
51
+ }, "<!--[if gte IE 5]>\n<link href=\"/stylesheets/ie.css\" media=\"screen\" rel=\"stylesheet\" type=\"text/css\" />\n<![endif]-->"
52
+
53
+ assert_equal @template.ie_5_5_conditional(:gte) {
54
+ @template.stylesheet_link_tag(@stylesheet)
55
+ }, "<!--[if gte IE 5.5]>\n<link href=\"/stylesheets/ie.css\" media=\"screen\" rel=\"stylesheet\" type=\"text/css\" />\n<![endif]-->"
56
+ end
57
+
58
+ should "render defined IE conditional with less than operator" do
59
+ assert_equal @template.ie_5_conditional(:lt) {
60
+ @template.stylesheet_link_tag(@stylesheet)
61
+ }, "<!--[if lt IE 5]>\n<link href=\"/stylesheets/ie.css\" media=\"screen\" rel=\"stylesheet\" type=\"text/css\" />\n<![endif]-->"
62
+
63
+ assert_equal @template.ie_5_5_conditional(:lt) {
64
+ @template.stylesheet_link_tag(@stylesheet)
65
+ }, "<!--[if lt IE 5.5]>\n<link href=\"/stylesheets/ie.css\" media=\"screen\" rel=\"stylesheet\" type=\"text/css\" />\n<![endif]-->"
66
+ end
67
+
68
+ should "render defined IE conditional with less than or equal to operator" do
69
+ assert_equal @template.ie_5_conditional(:lte) {
70
+ @template.stylesheet_link_tag(@stylesheet)
71
+ }, "<!--[if lte IE 5]>\n<link href=\"/stylesheets/ie.css\" media=\"screen\" rel=\"stylesheet\" type=\"text/css\" />\n<![endif]-->"
72
+
73
+ assert_equal @template.ie_5_5_conditional(:lte) {
74
+ @template.stylesheet_link_tag(@stylesheet)
75
+ }, "<!--[if lte IE 5.5]>\n<link href=\"/stylesheets/ie.css\" media=\"screen\" rel=\"stylesheet\" type=\"text/css\" />\n<![endif]-->"
76
+ end
77
+
78
+ should "render defined IE conditional with equal to operator" do
79
+ assert_equal @template.ie_5_conditional(:eq) {
80
+ @template.stylesheet_link_tag(@stylesheet)
81
+ }, "<!--[if eq IE 5]>\n<link href=\"/stylesheets/ie.css\" media=\"screen\" rel=\"stylesheet\" type=\"text/css\" />\n<![endif]-->"
82
+
83
+ assert_equal @template.ie_5_5_conditional(:eq) {
84
+ @template.stylesheet_link_tag(@stylesheet)
85
+ }, "<!--[if eq IE 5.5]>\n<link href=\"/stylesheets/ie.css\" media=\"screen\" rel=\"stylesheet\" type=\"text/css\" />\n<![endif]-->"
86
+ end
87
+
88
+ should "render defined conditionals for other browsers" do
89
+ assert_equal @template.opera_conditional {
90
+ @template.stylesheet_link_tag(@stylesheet)
91
+ }, "<!--[if Opera]>\n<link href=\"/stylesheets/ie.css\" media=\"screen\" rel=\"stylesheet\" type=\"text/css\" />\n<![endif]-->"
92
+
93
+ assert_equal @template.webkit_conditional {
94
+ @template.stylesheet_link_tag(@stylesheet)
95
+ }, "<!--[if Webkit]>\n<link href=\"/stylesheets/ie.css\" media=\"screen\" rel=\"stylesheet\" type=\"text/css\" />\n<![endif]-->"
96
+
97
+ assert_equal @template.webkit_conditional(:eq) {
98
+ @template.stylesheet_link_tag(@stylesheet)
99
+ }, "<!--[if eq Webkit]>\n<link href=\"/stylesheets/ie.css\" media=\"screen\" rel=\"stylesheet\" type=\"text/css\" />\n<![endif]-->"
100
+
101
+ assert_equal @template.gecko_conditional {
102
+ @template.stylesheet_link_tag(@stylesheet)
103
+ }, "<!--[if Gecko]>\n<link href=\"/stylesheets/ie.css\" media=\"screen\" rel=\"stylesheet\" type=\"text/css\" />\n<![endif]-->"
104
+ end
105
+ end
106
+
107
+ end
108
+
109
+ end
@@ -2,7 +2,7 @@ require 'helper'
2
2
 
3
3
  class TopHatTitleTestCase < Test::Unit::TestCase
4
4
 
5
- context "when using the title helpers" do
5
+ context "when using the title helper" do
6
6
 
7
7
  setup do
8
8
  @template = ActionView::Base.new
@@ -22,28 +22,33 @@ class TopHatTitleTestCase < Test::Unit::TestCase
22
22
  assert_equal @template.title(:site => "Miles Davis"), "<title>Miles Davis</title>"
23
23
  end
24
24
 
25
+ should "display the title if no website was specified" do
26
+ save_basic_title
27
+ assert_equal @template.title(), '<title>Kind of Blue</title>'
28
+ end
29
+
25
30
  should "use website before page by default" do
26
31
  save_basic_title
27
- assert_equal @template.title(:site => "Miles Davis"), "<title>Miles Davis | Kind of Blue</title>"
32
+ assert_equal @template.title(:site => "Miles Davis", :separator => '|'), "<title>Miles Davis | Kind of Blue</title>"
28
33
  end
29
34
 
30
35
  should "only use markup in titles in the view" do
31
36
  assert_equal save_basic_title("<b>Kind of Blue</b>"), "<b>Kind of Blue</b>"
32
- assert_equal @template.title(:site => "Miles Davis"), "<title>Miles Davis | Kind of Blue</title>"
37
+ assert_equal @template.title(:site => "Miles Davis", :separator => '|'), "<title>Miles Davis | Kind of Blue</title>"
33
38
  end
34
39
 
35
40
  should "use page before website if :reverse" do
36
41
  save_basic_title
37
- assert_equal @template.title(:site => "Miles Davis", :reverse => true), "<title>Kind of Blue | Miles Davis</title>"
42
+ assert_equal @template.title(:site => "Miles Davis", :reverse => true, :separator => '|'), "<title>Kind of Blue | Miles Davis</title>"
38
43
  end
39
44
 
40
45
  should "use website before page if :reverse and :reverse_on_default" do
41
- assert_equal @template.title(:site => "John Coltrane", :default => "My Favorite Things", :reverse => true, :reverse_on_default => false), "<title>John Coltrane | My Favorite Things</title>"
46
+ assert_equal @template.title(:site => "John Coltrane", :default => "My Favorite Things", :reverse => true, :reverse_on_default => false, :separator => '|'), "<title>John Coltrane | My Favorite Things</title>"
42
47
  end
43
48
 
44
49
  should "be lowercase if :lowercase" do
45
50
  save_basic_title
46
- assert_equal @template.title(:site => "Miles Davis", :lowercase => true), "<title>miles davis | kind of blue</title>"
51
+ assert_equal @template.title(:site => "Miles Davis", :lowercase => true, :separator => '|'), "<title>miles davis | kind of blue</title>"
47
52
  end
48
53
 
49
54
  should "use custom separator if :separator" do
@@ -55,7 +60,7 @@ class TopHatTitleTestCase < Test::Unit::TestCase
55
60
 
56
61
  should "use custom prefix and suffix if available" do
57
62
  save_basic_title
58
- assert_equal @template.title(:site => "Miles Davis", :prefix => " |", :suffix => "| "), "<title>Miles Davis ||| Kind of Blue</title>"
63
+ assert_equal @template.title(:site => "Miles Davis", :prefix => " |", :suffix => "| ", :separator => '|'), "<title>Miles Davis ||| Kind of Blue</title>"
59
64
  end
60
65
 
61
66
  should "collapse prefix if false" do
@@ -76,12 +81,12 @@ class TopHatTitleTestCase < Test::Unit::TestCase
76
81
 
77
82
  should "use default one if title is not present or blank" do
78
83
  save_basic_title("")
79
- assert_equal @template.title(:site => "Miles Davis", :default => "Round About Midnight"), "<title>Miles Davis | Round About Midnight</title>"
84
+ assert_equal @template.title(:site => "Miles Davis", :default => "Round About Midnight", :separator => '|'), "<title>Miles Davis | Round About Midnight</title>"
80
85
  end
81
86
 
82
87
  should "allow custom options per title" do
83
88
  save_custom_title
84
- assert_equal @template.title(:site => "Freddie Freeloader"), "<title>Kind of Blue | Freddie Freeloader</title>"
89
+ assert_equal @template.title(:site => "Freddie Freeloader", :separator => '|'), "<title>Kind of Blue | Freddie Freeloader</title>"
85
90
  end
86
91
  end
87
92
 
data/tophat.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{tophat}
8
- s.version = "1.0.0"
8
+ s.version = "1.1.0"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Steve Agalloco"]
12
- s.date = %q{2010-05-01}
12
+ s.date = %q{2010-05-04}
13
13
  s.description = %q{simple view helpers for your layouts}
14
14
  s.email = %q{steve.agalloco@gmail.com}
15
15
  s.extra_rdoc_files = [
@@ -25,12 +25,14 @@ Gem::Specification.new do |s|
25
25
  "lib/tophat.rb",
26
26
  "lib/tophat/core_extensions.rb",
27
27
  "lib/tophat/meta.rb",
28
+ "lib/tophat/stylesheet.rb",
28
29
  "lib/tophat/title.rb",
29
30
  "lib/tophat/version.rb",
30
31
  "rails/init.rb",
31
32
  "test/helper.rb",
32
33
  "test/test_tophat.rb",
33
34
  "test/test_tophat_meta.rb",
35
+ "test/test_tophat_stylesheets.rb",
34
36
  "test/test_tophat_title.rb",
35
37
  "tophat.gemspec"
36
38
  ]
@@ -43,6 +45,7 @@ Gem::Specification.new do |s|
43
45
  "test/helper.rb",
44
46
  "test/test_tophat.rb",
45
47
  "test/test_tophat_meta.rb",
48
+ "test/test_tophat_stylesheets.rb",
46
49
  "test/test_tophat_title.rb"
47
50
  ]
48
51
 
metadata CHANGED
@@ -4,9 +4,9 @@ version: !ruby/object:Gem::Version
4
4
  prerelease: false
5
5
  segments:
6
6
  - 1
7
+ - 1
7
8
  - 0
8
- - 0
9
- version: 1.0.0
9
+ version: 1.1.0
10
10
  platform: ruby
11
11
  authors:
12
12
  - Steve Agalloco
@@ -14,7 +14,7 @@ autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
16
 
17
- date: 2010-05-01 00:00:00 -04:00
17
+ date: 2010-05-04 00:00:00 -04:00
18
18
  default_executable:
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
@@ -61,12 +61,14 @@ files:
61
61
  - lib/tophat.rb
62
62
  - lib/tophat/core_extensions.rb
63
63
  - lib/tophat/meta.rb
64
+ - lib/tophat/stylesheet.rb
64
65
  - lib/tophat/title.rb
65
66
  - lib/tophat/version.rb
66
67
  - rails/init.rb
67
68
  - test/helper.rb
68
69
  - test/test_tophat.rb
69
70
  - test/test_tophat_meta.rb
71
+ - test/test_tophat_stylesheets.rb
70
72
  - test/test_tophat_title.rb
71
73
  - tophat.gemspec
72
74
  has_rdoc: true
@@ -103,4 +105,5 @@ test_files:
103
105
  - test/helper.rb
104
106
  - test/test_tophat.rb
105
107
  - test/test_tophat_meta.rb
108
+ - test/test_tophat_stylesheets.rb
106
109
  - test/test_tophat_title.rb