tophat 1.3.0 → 1.3.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.
- data/.travis.yml +7 -0
- data/Guardfile +6 -0
- data/README.md +77 -10
- data/lib/tophat/opengraph.rb +6 -0
- data/lib/tophat/title.rb +27 -47
- data/lib/tophat/version.rb +1 -1
- data/spec/tophat/opengraph_helper_spec.rb +8 -0
- data/spec/tophat/title_helper_spec.rb +10 -0
- data/tophat.gemspec +1 -0
- metadata +97 -93
data/.travis.yml
ADDED
data/Guardfile
ADDED
data/README.md
CHANGED
@@ -1,5 +1,5 @@
|
|
1
|
-
TopHat
|
2
|
-
|
1
|
+
TopHat [](http://travis-ci.org/spagalloco/tophat)
|
2
|
+
====================================================================================================================
|
3
3
|
|
4
4
|
TopHat is a set of view helpers to keep your layouts and views DRY.
|
5
5
|
|
@@ -32,12 +32,14 @@ Usage Options
|
|
32
32
|
|
33
33
|
Use these options to customize the title format:
|
34
34
|
|
35
|
-
*
|
36
|
-
*
|
37
|
-
*
|
38
|
-
*
|
39
|
-
*
|
40
|
-
*
|
35
|
+
* `:prefix` (text between site name and separator) [default: '']
|
36
|
+
* `:separator` (text used to separate website name from page title)
|
37
|
+
* `:suffix` (text between separator and page title) [default: ' ']
|
38
|
+
* `:lowercase` (when true, the entire title will be lowercase)
|
39
|
+
* `:uppercase` (when true, the entire title will be uppercase)
|
40
|
+
* `:reverse` (when true, the page and site names will be reversed)
|
41
|
+
* `:reverse_on_default` (when true it will lead to a 'Default Title | Site' title when using a default title)
|
42
|
+
* `:default` (default title to use when title is blank)
|
41
43
|
|
42
44
|
And here are a few examples to give you ideas.
|
43
45
|
|
@@ -51,8 +53,8 @@ These options can be set as defaults for your layout, or when setting the title
|
|
51
53
|
|
52
54
|
<% title "My page title", :lowercase => true, :separator => "~" %>
|
53
55
|
|
54
|
-
Meta
|
55
|
-
|
56
|
+
Meta Tags
|
57
|
+
---------
|
56
58
|
|
57
59
|
TopHat also works with keywords and descriptions. In your view, simply declare the keywords and description.
|
58
60
|
|
@@ -82,6 +84,71 @@ want to merge your default tags with those in your view? just pass merge_default
|
|
82
84
|
|
83
85
|
<%= keywords :default => 'Yoko, Linda', :merge_default => true %>
|
84
86
|
|
87
|
+
There are also convenience methods for a few common meta tags:
|
88
|
+
|
89
|
+
<%= noindex() %> # outputs: <meta content="noindex" name="robots" />
|
90
|
+
<%= noindex('googlebot') # outputs: <meta content="noindex" name="googlebot" />
|
91
|
+
<%= nofollow() %> # outputs: <meta content="nofollow" name="robots" />
|
92
|
+
<%= nofollow('googlebot') # outputs: <meta content="nofollow" name="googlebot" />
|
93
|
+
<%= canonical('http://mysite.com/somepath/') %> # outputs: <link href="http://mysite.com/somepath/" rel="canonical" />
|
94
|
+
|
95
|
+
Browser Conditionals
|
96
|
+
--------------------
|
97
|
+
|
98
|
+
TopHat can generate a lot of different browser conditional comments as well:
|
99
|
+
|
100
|
+
ie_5_conditional do
|
101
|
+
stylesheet_link_tag 'ie'
|
102
|
+
end
|
103
|
+
|
104
|
+
will render:
|
105
|
+
|
106
|
+
<!--[if IE 5]>
|
107
|
+
<link href="/stylesheets/ie.css" media="screen" rel="stylesheet" type="text/css" />
|
108
|
+
<![endif]-->
|
109
|
+
|
110
|
+
You can also pass in conditions via an argument to the conditional:
|
111
|
+
|
112
|
+
ie_5_5_conditional(:lt) => <!--[if lt IE 5.5]>
|
113
|
+
ie_5_5_conditional(:gt) => <!--[if gt IE 5.5]>
|
114
|
+
ie_5_conditional(:lte) => <!--[if lte IE 5]>
|
115
|
+
ie_5_conditional(:gte) => <!--[if gte IE 5]>
|
116
|
+
if_5_5_conditional(:not) => <!--[if !IE 5]>
|
117
|
+
webkit_conditional(:eq) => <!--[if eq Webkit]>
|
118
|
+
|
119
|
+
A lot of browsers are supported, check the code for the full listing.
|
120
|
+
|
121
|
+
OpenGraph Helpers
|
122
|
+
-----------------
|
123
|
+
|
124
|
+
TopHat can also generate Facebook OpenGraph tags. In your views, you can assign any number of attributes by passing a block to the opengraph helper. This will store the attributes for that page.
|
125
|
+
|
126
|
+
opengraph do |graph|
|
127
|
+
graph.title 'Rain Man'
|
128
|
+
graph.type 'Movie'
|
129
|
+
end
|
130
|
+
|
131
|
+
To embed OpenGraph tags on your page, you'll need to reference opengraph in your layout.
|
132
|
+
|
133
|
+
<%= opengraph %>
|
134
|
+
|
135
|
+
You can add an app_id and/or admin ids in your layout:
|
136
|
+
|
137
|
+
<%= opengraph(:app_id => 'MyApp', :admins => [123, 1234]) %>
|
138
|
+
|
139
|
+
When used in combination, TopHat will render:
|
140
|
+
|
141
|
+
<meta content="MyApp" property="fb:app_id" />
|
142
|
+
<meta content="123,1234" property="fb:admins" />
|
143
|
+
<meta content="movie" property="og:type" />
|
144
|
+
<meta content="Rain Man" property="og:title" />
|
145
|
+
|
146
|
+
There's also a helper for the html tag along with the opengraph namespaces:
|
147
|
+
|
148
|
+
html_with_opengraph => <html xmlns:fb...>
|
149
|
+
|
150
|
+
|
151
|
+
Note: TopHat does not include a "Like" button helper. TopHat's focus is inside the `<head>` tag.
|
85
152
|
|
86
153
|
Note on Patches/Pull Requests
|
87
154
|
-----------------------------
|
data/lib/tophat/opengraph.rb
CHANGED
@@ -52,6 +52,12 @@ module TopHat
|
|
52
52
|
|
53
53
|
end
|
54
54
|
|
55
|
+
def html_with_opengraph
|
56
|
+
'<html xmlns="http://www.w3.org/1999/xhtml"
|
57
|
+
xmlns:og="http://ogp.me/ns#"
|
58
|
+
xmlns:fb="https://www.facebook.com/2008/fbml">'
|
59
|
+
end
|
60
|
+
|
55
61
|
def opengraph(options=nil, &block)
|
56
62
|
if options.kind_of? Hash
|
57
63
|
@tophat_open_graph_defaults = options
|
data/lib/tophat/title.rb
CHANGED
@@ -2,25 +2,46 @@ module TopHat
|
|
2
2
|
module TitleHelper
|
3
3
|
|
4
4
|
def title(title=nil, options={})
|
5
|
-
if title.is_a?
|
5
|
+
if title.is_a?(String) || title.is_a?(Array)
|
6
6
|
save_tophat_title(title, options)
|
7
7
|
else
|
8
|
-
display_tophat_title(title)
|
8
|
+
display_tophat_title(title || options)
|
9
9
|
end
|
10
10
|
end
|
11
11
|
|
12
12
|
private
|
13
13
|
|
14
14
|
def save_tophat_title(title, options)
|
15
|
-
@tophat_title = title
|
15
|
+
@tophat_title = title
|
16
16
|
@tophat_title_options = options
|
17
17
|
title
|
18
18
|
end
|
19
19
|
|
20
|
-
def display_tophat_title(options
|
21
|
-
options ||= {}
|
20
|
+
def display_tophat_title(options)
|
22
21
|
options = options.merge(@tophat_title_options) unless @tophat_title_options.nil?
|
23
22
|
|
23
|
+
title_segments = []
|
24
|
+
title_segments << options[:site] if options[:site]
|
25
|
+
title_segments << (@tophat_title.blank? ? options[:default] : @tophat_title)
|
26
|
+
|
27
|
+
title_segments.flatten! # flatten out in case the title is an array
|
28
|
+
title_segments.compact! # clean out any nils
|
29
|
+
title_segments.map! { |t| t.downcase! } if options[:lowercase]
|
30
|
+
title_segments.map! { |t| t.upcase! } if options[:uppercase]
|
31
|
+
title_segments.map! { |t| strip_tags(t) }
|
32
|
+
|
33
|
+
reverse = options[:reverse]
|
34
|
+
reverse = false if options[:default] && @tophat_title.blank? && options[:reverse_on_default] == false
|
35
|
+
|
36
|
+
title_segments.reverse! if reverse
|
37
|
+
|
38
|
+
content_tag :title, title_segments.join(delimiter_from(options)).strip
|
39
|
+
end
|
40
|
+
alias t title
|
41
|
+
|
42
|
+
def delimiter_from(options={})
|
43
|
+
return "" if options.empty?
|
44
|
+
|
24
45
|
# Prefix (leading space)
|
25
46
|
if options[:prefix]
|
26
47
|
prefix = options[:prefix]
|
@@ -42,48 +63,7 @@ module TopHat
|
|
42
63
|
suffix = ' '
|
43
64
|
end
|
44
65
|
|
45
|
-
|
46
|
-
site_name = options[:site] || ''
|
47
|
-
|
48
|
-
# Lowercase title?
|
49
|
-
if options[:lowercase] == true
|
50
|
-
@tophat_title.downcase! unless @tophat_title.blank?
|
51
|
-
site_name.downcase! unless site_name.blank?
|
52
|
-
end
|
53
|
-
|
54
|
-
# Default page title
|
55
|
-
if @tophat_title.blank? && options[:default]
|
56
|
-
@tophat_title = options[:default]
|
57
|
-
@tophat_title_defaulted = true
|
58
|
-
end
|
59
|
-
|
60
|
-
# figure out reversing
|
61
|
-
if options[:reverse] == true
|
62
|
-
if @tophat_title_defaulted
|
63
|
-
@tophat_reserve = options[:reverse_on_default] != false
|
64
|
-
else
|
65
|
-
@tophat_reverse = true
|
66
|
-
end
|
67
|
-
else
|
68
|
-
@tophat_reverse = false
|
69
|
-
end
|
70
|
-
|
71
|
-
# Set website/page order
|
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
|
77
|
-
# Reverse order => "Page : Website"
|
78
|
-
@tophat_title + prefix + separator + suffix + site_name
|
79
|
-
else
|
80
|
-
# Standard order => "Website : Page"
|
81
|
-
site_name + prefix + separator + suffix + @tophat_title
|
82
|
-
end
|
83
|
-
|
84
|
-
return content_tag(:title, display_title.strip)
|
85
|
-
end
|
66
|
+
prefix + separator + suffix
|
86
67
|
end
|
87
|
-
alias t title
|
88
68
|
end
|
89
69
|
end
|
data/lib/tophat/version.rb
CHANGED
@@ -6,6 +6,14 @@ describe TopHat::OpenGraphHelper do
|
|
6
6
|
@template = ActionView::Base.new
|
7
7
|
end
|
8
8
|
|
9
|
+
context 'html_with_opengraph' do
|
10
|
+
it 'should render an html tag with namespace' do
|
11
|
+
@template.html_with_opengraph.should =~ /<html/
|
12
|
+
@template.html_with_opengraph.should =~ /xmlns\:og/
|
13
|
+
@template.html_with_opengraph.should =~ /xmlns\:fb/
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
9
17
|
context "site admins when configured" do
|
10
18
|
context "as a string" do
|
11
19
|
it "should generate a site admin tag" do
|
@@ -46,6 +46,11 @@ describe TopHat::TitleHelper do
|
|
46
46
|
@template.title(:site => "Miles Davis", :lowercase => true, :separator => '|').should == "<title>miles davis | kind of blue</title>"
|
47
47
|
end
|
48
48
|
|
49
|
+
it "should be uppercase if :uppercase" do
|
50
|
+
save_basic_title
|
51
|
+
@template.title(:site => "Miles Davis", :uppercase => true, :separator => '|').should == "<title>MILES DAVIS | KIND OF BLUE</title>"
|
52
|
+
end
|
53
|
+
|
49
54
|
it "should use custom separator if :separator" do
|
50
55
|
save_basic_title
|
51
56
|
@template.title(:site => "Miles Davis", :separator => "-").should == "<title>Miles Davis - Kind of Blue</title>"
|
@@ -83,6 +88,11 @@ describe TopHat::TitleHelper do
|
|
83
88
|
save_custom_title
|
84
89
|
@template.title(:site => "Freddie Freeloader", :separator => '|').should == "<title>Kind of Blue | Freddie Freeloader</title>"
|
85
90
|
end
|
91
|
+
|
92
|
+
it "should accept an array of strings as the title" do
|
93
|
+
@template.title(['My', 'Favorite', 'Things'])
|
94
|
+
@template.title(:site => "Freddie Freeloader", :separator => '|').should == "<title>Freddie Freeloader | My | Favorite | Things</title>"
|
95
|
+
end
|
86
96
|
end
|
87
97
|
|
88
98
|
def save_basic_title(title='Kind of Blue')
|
data/tophat.gemspec
CHANGED
@@ -22,6 +22,7 @@ Gem::Specification.new do |s|
|
|
22
22
|
s.add_development_dependency('simplecov', '~> 0.3')
|
23
23
|
s.add_development_dependency('shoulda', '>= 0')
|
24
24
|
s.add_development_dependency('rails', '>= 3.0.0')
|
25
|
+
s.add_development_dependency('guard-rspec', '~> 0.4')
|
25
26
|
|
26
27
|
s.files = `git ls-files`.split("\n")
|
27
28
|
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
metadata
CHANGED
@@ -1,131 +1,139 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: tophat
|
3
|
-
version: !ruby/object:Gem::Version
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.3.1
|
4
5
|
prerelease:
|
5
|
-
version: 1.3.0
|
6
6
|
platform: ruby
|
7
|
-
authors:
|
7
|
+
authors:
|
8
8
|
- Steve Agalloco
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
dependencies:
|
16
|
-
- !ruby/object:Gem::Dependency
|
12
|
+
date: 2011-09-15 00:00:00.000000000Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
17
15
|
name: actionpack
|
18
|
-
|
19
|
-
requirement: &id001 !ruby/object:Gem::Requirement
|
16
|
+
requirement: &2157007300 !ruby/object:Gem::Requirement
|
20
17
|
none: false
|
21
|
-
requirements:
|
22
|
-
- -
|
23
|
-
- !ruby/object:Gem::Version
|
18
|
+
requirements:
|
19
|
+
- - ! '>='
|
20
|
+
- !ruby/object:Gem::Version
|
24
21
|
version: 3.0.0
|
25
22
|
type: :runtime
|
26
|
-
version_requirements: *id001
|
27
|
-
- !ruby/object:Gem::Dependency
|
28
|
-
name: bundler
|
29
23
|
prerelease: false
|
30
|
-
|
24
|
+
version_requirements: *2157007300
|
25
|
+
- !ruby/object:Gem::Dependency
|
26
|
+
name: bundler
|
27
|
+
requirement: &2157006800 !ruby/object:Gem::Requirement
|
31
28
|
none: false
|
32
|
-
requirements:
|
29
|
+
requirements:
|
33
30
|
- - ~>
|
34
|
-
- !ruby/object:Gem::Version
|
35
|
-
version:
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: '1.0'
|
36
33
|
type: :development
|
37
|
-
version_requirements: *id002
|
38
|
-
- !ruby/object:Gem::Dependency
|
39
|
-
name: rake
|
40
34
|
prerelease: false
|
41
|
-
|
35
|
+
version_requirements: *2157006800
|
36
|
+
- !ruby/object:Gem::Dependency
|
37
|
+
name: rake
|
38
|
+
requirement: &2157006340 !ruby/object:Gem::Requirement
|
42
39
|
none: false
|
43
|
-
requirements:
|
40
|
+
requirements:
|
44
41
|
- - ~>
|
45
|
-
- !ruby/object:Gem::Version
|
46
|
-
version:
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: '0.8'
|
47
44
|
type: :development
|
48
|
-
version_requirements: *id003
|
49
|
-
- !ruby/object:Gem::Dependency
|
50
|
-
name: rspec
|
51
45
|
prerelease: false
|
52
|
-
|
46
|
+
version_requirements: *2157006340
|
47
|
+
- !ruby/object:Gem::Dependency
|
48
|
+
name: rspec
|
49
|
+
requirement: &2157005880 !ruby/object:Gem::Requirement
|
53
50
|
none: false
|
54
|
-
requirements:
|
51
|
+
requirements:
|
55
52
|
- - ~>
|
56
|
-
- !ruby/object:Gem::Version
|
53
|
+
- !ruby/object:Gem::Version
|
57
54
|
version: 2.5.0
|
58
55
|
type: :development
|
59
|
-
version_requirements: *id004
|
60
|
-
- !ruby/object:Gem::Dependency
|
61
|
-
name: yard
|
62
56
|
prerelease: false
|
63
|
-
|
57
|
+
version_requirements: *2157005880
|
58
|
+
- !ruby/object:Gem::Dependency
|
59
|
+
name: yard
|
60
|
+
requirement: &2157005420 !ruby/object:Gem::Requirement
|
64
61
|
none: false
|
65
|
-
requirements:
|
62
|
+
requirements:
|
66
63
|
- - ~>
|
67
|
-
- !ruby/object:Gem::Version
|
68
|
-
version:
|
64
|
+
- !ruby/object:Gem::Version
|
65
|
+
version: '0.6'
|
69
66
|
type: :development
|
70
|
-
version_requirements: *id005
|
71
|
-
- !ruby/object:Gem::Dependency
|
72
|
-
name: maruku
|
73
67
|
prerelease: false
|
74
|
-
|
68
|
+
version_requirements: *2157005420
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: maruku
|
71
|
+
requirement: &2157004960 !ruby/object:Gem::Requirement
|
75
72
|
none: false
|
76
|
-
requirements:
|
73
|
+
requirements:
|
77
74
|
- - ~>
|
78
|
-
- !ruby/object:Gem::Version
|
79
|
-
version:
|
75
|
+
- !ruby/object:Gem::Version
|
76
|
+
version: '0.6'
|
80
77
|
type: :development
|
81
|
-
version_requirements: *id006
|
82
|
-
- !ruby/object:Gem::Dependency
|
83
|
-
name: simplecov
|
84
78
|
prerelease: false
|
85
|
-
|
79
|
+
version_requirements: *2157004960
|
80
|
+
- !ruby/object:Gem::Dependency
|
81
|
+
name: simplecov
|
82
|
+
requirement: &2157004500 !ruby/object:Gem::Requirement
|
86
83
|
none: false
|
87
|
-
requirements:
|
84
|
+
requirements:
|
88
85
|
- - ~>
|
89
|
-
- !ruby/object:Gem::Version
|
90
|
-
version:
|
86
|
+
- !ruby/object:Gem::Version
|
87
|
+
version: '0.3'
|
91
88
|
type: :development
|
92
|
-
version_requirements: *id007
|
93
|
-
- !ruby/object:Gem::Dependency
|
94
|
-
name: shoulda
|
95
89
|
prerelease: false
|
96
|
-
|
90
|
+
version_requirements: *2157004500
|
91
|
+
- !ruby/object:Gem::Dependency
|
92
|
+
name: shoulda
|
93
|
+
requirement: &2157037560 !ruby/object:Gem::Requirement
|
97
94
|
none: false
|
98
|
-
requirements:
|
99
|
-
- -
|
100
|
-
- !ruby/object:Gem::Version
|
101
|
-
version:
|
95
|
+
requirements:
|
96
|
+
- - ! '>='
|
97
|
+
- !ruby/object:Gem::Version
|
98
|
+
version: '0'
|
102
99
|
type: :development
|
103
|
-
version_requirements: *id008
|
104
|
-
- !ruby/object:Gem::Dependency
|
105
|
-
name: rails
|
106
100
|
prerelease: false
|
107
|
-
|
101
|
+
version_requirements: *2157037560
|
102
|
+
- !ruby/object:Gem::Dependency
|
103
|
+
name: rails
|
104
|
+
requirement: &2157037100 !ruby/object:Gem::Requirement
|
108
105
|
none: false
|
109
|
-
requirements:
|
110
|
-
- -
|
111
|
-
- !ruby/object:Gem::Version
|
106
|
+
requirements:
|
107
|
+
- - ! '>='
|
108
|
+
- !ruby/object:Gem::Version
|
112
109
|
version: 3.0.0
|
113
110
|
type: :development
|
114
|
-
|
111
|
+
prerelease: false
|
112
|
+
version_requirements: *2157037100
|
113
|
+
- !ruby/object:Gem::Dependency
|
114
|
+
name: guard-rspec
|
115
|
+
requirement: &2157036640 !ruby/object:Gem::Requirement
|
116
|
+
none: false
|
117
|
+
requirements:
|
118
|
+
- - ~>
|
119
|
+
- !ruby/object:Gem::Version
|
120
|
+
version: '0.4'
|
121
|
+
type: :development
|
122
|
+
prerelease: false
|
123
|
+
version_requirements: *2157036640
|
115
124
|
description: simple view helpers for your layouts
|
116
|
-
email:
|
125
|
+
email:
|
117
126
|
- steve.agalloco@gmail.com
|
118
127
|
executables: []
|
119
|
-
|
120
128
|
extensions: []
|
121
|
-
|
122
129
|
extra_rdoc_files: []
|
123
|
-
|
124
|
-
files:
|
130
|
+
files:
|
125
131
|
- .document
|
126
132
|
- .gitignore
|
127
133
|
- .rspec
|
134
|
+
- .travis.yml
|
128
135
|
- Gemfile
|
136
|
+
- Guardfile
|
129
137
|
- LICENSE
|
130
138
|
- README.md
|
131
139
|
- Rakefile
|
@@ -144,35 +152,31 @@ files:
|
|
144
152
|
- spec/tophat/title_helper_spec.rb
|
145
153
|
- spec/tophat_spec.rb
|
146
154
|
- tophat.gemspec
|
147
|
-
has_rdoc: true
|
148
155
|
homepage: https://github.com/spagalloco/tophat
|
149
156
|
licenses: []
|
150
|
-
|
151
157
|
post_install_message:
|
152
158
|
rdoc_options: []
|
153
|
-
|
154
|
-
require_paths:
|
159
|
+
require_paths:
|
155
160
|
- lib
|
156
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
161
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
157
162
|
none: false
|
158
|
-
requirements:
|
159
|
-
- -
|
160
|
-
- !ruby/object:Gem::Version
|
161
|
-
version:
|
162
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
163
|
+
requirements:
|
164
|
+
- - ! '>='
|
165
|
+
- !ruby/object:Gem::Version
|
166
|
+
version: '0'
|
167
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
163
168
|
none: false
|
164
|
-
requirements:
|
165
|
-
- -
|
166
|
-
- !ruby/object:Gem::Version
|
167
|
-
version:
|
169
|
+
requirements:
|
170
|
+
- - ! '>='
|
171
|
+
- !ruby/object:Gem::Version
|
172
|
+
version: '0'
|
168
173
|
requirements: []
|
169
|
-
|
170
174
|
rubyforge_project:
|
171
|
-
rubygems_version: 1.
|
175
|
+
rubygems_version: 1.8.6
|
172
176
|
signing_key:
|
173
177
|
specification_version: 3
|
174
178
|
summary: simple view helpers for your layouts
|
175
|
-
test_files:
|
179
|
+
test_files:
|
176
180
|
- spec/spec_helper.rb
|
177
181
|
- spec/tophat/meta_helper_spec.rb
|
178
182
|
- spec/tophat/opengraph_helper_spec.rb
|