sinatra-head 0.1.1 → 0.1.2
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/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.1.
|
1
|
+
0.1.2
|
@@ -31,7 +31,7 @@ module Sinatra
|
|
31
31
|
# Returns the title elements you've set, in reverse order, separated by ' | '. (You can override this with
|
32
32
|
# a Sinatra option: `set :title_separator, ' <*> '`)
|
33
33
|
def title_string
|
34
|
-
title.reverse.join(settings.title_separator)
|
34
|
+
title.uniq.reverse.join(settings.title_separator)
|
35
35
|
end
|
36
36
|
|
37
37
|
# Exposes an array of stylesheets. Can be set at both the class and the instance (action) level.
|
@@ -50,7 +50,7 @@ module Sinatra
|
|
50
50
|
|
51
51
|
# Spits out stylesheet tags for all declared stylesheets, one per line.
|
52
52
|
def stylesheet_tags
|
53
|
-
stylesheets.collect{|s| stylesheet_tag(s)}.join("\n")
|
53
|
+
stylesheets.uniq.collect{|s| stylesheet_tag(s)}.join("\n")
|
54
54
|
end
|
55
55
|
|
56
56
|
# Spits out a <script src='filename'> element for the given javascript file.
|
@@ -71,7 +71,7 @@ module Sinatra
|
|
71
71
|
|
72
72
|
# Spits out javascript tags for all declared scripts, one per line.
|
73
73
|
def javascript_tags
|
74
|
-
javascripts.collect{|s| javascript_tag(s)}.join("\n")
|
74
|
+
javascripts.uniq.collect{|s| javascript_tag(s)}.join("\n")
|
75
75
|
end
|
76
76
|
|
77
77
|
end
|
data/sinatra-head.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{sinatra-head}
|
8
|
-
s.version = "0.1.
|
8
|
+
s.version = "0.1.2"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Stephen Eley"]
|
12
|
-
s.date = %q{2010-
|
12
|
+
s.date = %q{2010-06-10}
|
13
13
|
s.description = %q{Sinatra::Head provides class methods and helpers for dynamically controlling the fields in your <HEAD> element that are usually preset in your layout: the page title, stylesheet and javascript assets, etc. Asset lists are inherited throughout superclasses, subclasses, and within action methods, and basic asset path management is supported.}
|
14
14
|
s.email = %q{sfeley@gmail.com}
|
15
15
|
s.extra_rdoc_files = [
|
@@ -22,6 +22,7 @@ describe Sinatra::Head, "javascripts" do
|
|
22
22
|
@instance.javascripts.should == ['main.js', 'secondary.js', 'specific.js']
|
23
23
|
end
|
24
24
|
|
25
|
+
|
25
26
|
it "leaves its superclass's value alone" do
|
26
27
|
instance = DummyFixture::DummyApp.new
|
27
28
|
instance.javascripts.should == ['main.js']
|
@@ -51,6 +52,11 @@ describe Sinatra::Head, "javascripts" do
|
|
51
52
|
@instance.javascript_tags.should == "<script src='/things/javascript/main.js'></script>\n<script src='/things/javascript/secondary.js'></script>\n<script src='http://yahoo.com/yahoo_script.js'></script>"
|
52
53
|
end
|
53
54
|
|
55
|
+
it "only shows a given element once" do
|
56
|
+
@instance.javascripts << 'main.js'
|
57
|
+
@instance.javascript_tags.should_not =~ /main\.js.*main\.js/m
|
58
|
+
end
|
59
|
+
|
54
60
|
it "shows up in the header" do
|
55
61
|
visit '/'
|
56
62
|
within 'head' do
|
@@ -55,6 +55,11 @@ describe Sinatra::Head, "stylesheets" do
|
|
55
55
|
@instance.stylesheet_tags.should == "<link rel='stylesheet' href='/stuff/stylesheets/main.css' />\n<link rel='stylesheet' href='/stuff/stylesheets/secondary.css' />\n<link rel='stylesheet' href='http://yahoo.com/yahoo_style.css' />"
|
56
56
|
end
|
57
57
|
|
58
|
+
it "only shows a given element once" do
|
59
|
+
@instance.stylesheets << 'main.css'
|
60
|
+
@instance.stylesheet_tags.should_not =~ /main\.css.*main\.css/m
|
61
|
+
end
|
62
|
+
|
58
63
|
it "shows up in the header" do
|
59
64
|
visit '/'
|
60
65
|
within 'head' do
|
data/spec/sinatra/title_spec.rb
CHANGED
@@ -20,7 +20,7 @@ describe Sinatra::Head, "titles" do
|
|
20
20
|
@instance.title << 'Low Level'
|
21
21
|
@instance.title.should == ['High Level', 'Mid-Level', 'Low Level']
|
22
22
|
end
|
23
|
-
|
23
|
+
|
24
24
|
it "can be overridden" do
|
25
25
|
@instance.title = 'Kaboom!'
|
26
26
|
@instance.title.should == ['Kaboom!']
|
@@ -36,6 +36,11 @@ describe Sinatra::Head, "titles" do
|
|
36
36
|
@instance.title_string.should == 'Low Level | Mid-Level | High Level'
|
37
37
|
end
|
38
38
|
|
39
|
+
it "only shows a given element once" do
|
40
|
+
@instance.title << 'Mid-Level'
|
41
|
+
@instance.title_string.should_not =~ /Mid-Level.*Mid-Level/
|
42
|
+
end
|
43
|
+
|
39
44
|
it "can set a different title separator" do
|
40
45
|
class DummyGrandkid < DummyFixture::DummyChild
|
41
46
|
set :title_separator, ' <*> '
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sinatra-head
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 31
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 1
|
9
|
-
-
|
10
|
-
version: 0.1.
|
9
|
+
- 2
|
10
|
+
version: 0.1.2
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Stephen Eley
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2010-
|
18
|
+
date: 2010-06-10 00:00:00 -04:00
|
19
19
|
default_executable:
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|