sinatra-static-assets 0.5.0 → 1.0.0
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/.gitignore +4 -0
- data/Gemfile +4 -0
- data/{README.markdown → README.md} +32 -34
- data/Rakefile +1 -0
- data/examples/rsummer/config.ru +1 -1
- data/examples/rsummer/summer.rb +4 -7
- data/examples/rwinter/winter.rb +4 -5
- data/examples/summer/config.ru +1 -1
- data/examples/summer/summer.rb +0 -2
- data/examples/winter/config.ru +1 -1
- data/examples/winter/winter.rb +0 -1
- data/lib/sinatra/static_assets.rb +9 -3
- data/lib/sinatra/version.rb +5 -0
- data/sinatra-static-assets.gemspec +27 -0
- data/test/sinatra_app.rb +0 -1
- data/test/sinatra_baseapp.rb +1 -2
- data/test/sinatra_static_assets_test.rb +5 -5
- data/test/sinatra_static_assets_xhtml_test.rb +4 -4
- metadata +67 -88
- data/VERSION.yml +0 -5
data/.gitignore
ADDED
data/Gemfile
ADDED
@@ -1,4 +1,4 @@
|
|
1
|
-
|
1
|
+
# Sinatra Extension: StaticAssets
|
2
2
|
|
3
3
|
Gem *sinatra-static-assets* implements the following helpers methods:
|
4
4
|
|
@@ -11,8 +11,8 @@ To install it, run:
|
|
11
11
|
|
12
12
|
sudo gem install sinatra-static-assets -s http://gemcutter.org
|
13
13
|
|
14
|
-
All these methods are simple wrappers around the `
|
15
|
-
from the [sinatra
|
14
|
+
All these methods are simple wrappers around the `uri` method
|
15
|
+
from the [sinatra](http://github.com/sinatra/sinatra) gem.
|
16
16
|
|
17
17
|
## When will you need it?
|
18
18
|
|
@@ -23,12 +23,12 @@ sub URI.
|
|
23
23
|
|
24
24
|
Example: Suppose that we already have a virtual host `hitch.local`
|
25
25
|
and two Sinatra applications that live in
|
26
|
-
`/home/me/www/summer` and `/home/me/www/winter`
|
26
|
+
`/home/me/www/summer` and `/home/me/www/winter`
|
27
27
|
directories, respectively.
|
28
|
-
We want our Sinatra applications to be accessible from
|
29
|
-
the following sub URI:
|
28
|
+
We want our Sinatra applications to be accessible from
|
29
|
+
the following sub URI:
|
30
30
|
|
31
|
-
http://hitch.local/summer
|
31
|
+
http://hitch.local/summer
|
32
32
|
|
33
33
|
and
|
34
34
|
|
@@ -40,7 +40,7 @@ we need to create a new configuration file with the following content:
|
|
40
40
|
<VirtualHost *:80>
|
41
41
|
ServerName hitch.local
|
42
42
|
DocumentRoot /srv/www/hitch.local
|
43
|
-
|
43
|
+
|
44
44
|
RackBaseURI /summer
|
45
45
|
RackBaseURI /winter
|
46
46
|
</VirtualHost>
|
@@ -50,7 +50,7 @@ and a link to the applications directories in `/srv/www/hitch.local`:
|
|
50
50
|
ln -s /home/me/www/summer/public /srv/www/hitch.local/summer
|
51
51
|
ln -s /home/me/www/winter/public /srv/www/hitch.local/winter
|
52
52
|
|
53
|
-
After restarting an Apache2 server and visiting, for example, the first
|
53
|
+
After restarting an Apache2 server and visiting, for example, the first
|
54
54
|
application at `http://hitch.local/summer` we see that links to
|
55
55
|
images, stylesheets and javascripts are broken.
|
56
56
|
|
@@ -60,7 +60,7 @@ images/stylesheets/javascripts with absolute URI:
|
|
60
60
|
/images/tatry1.jpg /stylesheets/app.css /javascripts/app.js
|
61
61
|
|
62
62
|
That setup **works** whenever we are running applications locally.
|
63
|
-
The absolute URI above tells a browser to request images
|
63
|
+
The absolute URI above tells a browser to request images
|
64
64
|
(stylesheets and javascripts) from:
|
65
65
|
|
66
66
|
http://localhost:4567/images/tatry1.jpg
|
@@ -80,57 +80,55 @@ As a result the images are at:
|
|
80
80
|
|
81
81
|
http://hitch.local/summer/images/tatry1.jpg
|
82
82
|
|
83
|
-
but we request them from:
|
83
|
+
but we request them from:
|
84
84
|
|
85
85
|
http://hitch.local/images/tatry1.jpg
|
86
86
|
|
87
|
-
And this **does not work** because there is no application
|
87
|
+
And this **does not work** because there is no application
|
88
88
|
dispatched to *images* sub URI.
|
89
89
|
|
90
|
-
The recommended way to deal with an absolute URI
|
90
|
+
The recommended way to deal with an absolute URI
|
91
91
|
is to use a helper method that automatically converts
|
92
92
|
`/images/tatry1.jpg` to `/summer/images/tatry1.jpg`
|
93
|
-
for application dispatched to `/summer` sub URI.
|
93
|
+
for application dispatched to `/summer` sub URI.
|
94
94
|
|
95
|
-
In the above example you can simply remove the `<img>`
|
96
|
-
HTML tag and replace it with a Ruby inline code like this:
|
95
|
+
In the above example you can simply remove the `<img>`
|
96
|
+
HTML tag and replace it with a Ruby inline code like this:
|
97
97
|
|
98
98
|
<%= image_tag("/images/tatry1.jpg", :alt => "Błyszcz, 2159 m") %>
|
99
99
|
|
100
|
-
See also, [How to fix broken images/CSS/JavaScript URIs in sub-URI
|
100
|
+
See also, [How to fix broken images/CSS/JavaScript URIs in sub-URI
|
101
101
|
deployments](http://www.modrails.com/documentation/Users%20guide%20Apache.html#sub_uri_deployment_uri_fix)
|
102
102
|
|
103
103
|
## Usage examples
|
104
104
|
|
105
|
-
In HTML `<link>` and `<img>` tags have no end tag.
|
105
|
+
In HTML (and HTML5) `<link>` and `<img>` tags have no end tag.
|
106
106
|
In XHTML, on the contrary, these tags must be properly closed.
|
107
107
|
|
108
108
|
We can choose the appropriate behaviour with *closed* option:
|
109
109
|
|
110
110
|
image_tag "/images/tatry1.jpg", :alt => "Błyszcz, 2159 m", :closed => true
|
111
111
|
|
112
|
-
The default value of *closed* option is `false`.
|
112
|
+
The default value of *closed* option is `false`. We can change the default value with:
|
113
|
+
|
114
|
+
enable :xhtml
|
115
|
+
|
116
|
+
We can pass mutliple stylesheets or scripts:
|
113
117
|
|
114
118
|
stylesheet_link_tag "/stylesheets/screen.css", "/stylesheets/summer.css", :media => "projection"
|
115
119
|
javascript_script_tag "/javascripts/jquery.js", "/javascripts/summer.js", :charset => "iso-8859-2"
|
116
120
|
link_to "Tatry Mountains Rescue Team", "/topr"
|
117
121
|
|
118
|
-
In order to use include the following in a Sinatra application:
|
122
|
+
In order to use include the following in a Sinatra application:
|
119
123
|
|
120
|
-
gem 'sinatra-static-assets'
|
121
124
|
require 'sinatra/static_assets'
|
122
125
|
|
123
126
|
Or, if subclassing `Sinatra::Base`, include helpers manually:
|
124
127
|
|
125
|
-
gem 'emk-sinatra-url-for'
|
126
|
-
require 'sinatra/url_for'
|
127
|
-
|
128
|
-
gem 'sinatra-static-assets'
|
129
128
|
require 'sinatra/static_assets'
|
130
|
-
|
129
|
+
|
131
130
|
class Summer < Sinatra::Base
|
132
|
-
|
133
|
-
helpers Sinatra::StaticAssets
|
131
|
+
register Sinatra::StaticAssets
|
134
132
|
# ...
|
135
133
|
end
|
136
134
|
|
@@ -151,11 +149,11 @@ dispatches these applications to `/summer` and `/winter` sub URI:
|
|
151
149
|
|
152
150
|
$LOAD_PATH.unshift('rwinter')
|
153
151
|
require 'winter'
|
154
|
-
|
152
|
+
|
155
153
|
map '/summer' do
|
156
154
|
run Sinatra::Summer.new
|
157
155
|
end
|
158
|
-
|
156
|
+
|
159
157
|
map '/winter' do
|
160
158
|
run Sinatra::Winter.new
|
161
159
|
end
|
@@ -182,10 +180,10 @@ Next, create directories required by Passenger:
|
|
182
180
|
and, finally, copy `config.ru` into `/srv/www/hitch.local` and
|
183
181
|
update `LOAD_PATH` in the copied file.
|
184
182
|
|
185
|
-
With everything in place, after restarting Apache2,
|
183
|
+
With everything in place, after restarting Apache2,
|
186
184
|
the applications are accessible from the
|
187
185
|
|
188
|
-
http://hitch.local/summer
|
186
|
+
http://hitch.local/summer
|
189
187
|
|
190
188
|
and
|
191
189
|
|
@@ -197,9 +195,9 @@ respectively.
|
|
197
195
|
|
198
196
|
1\. The `examples` directory contains *summer* and *winter* applications.
|
199
197
|
|
200
|
-
2\. In order to create a virual host add the following to */etc/hosts/*:
|
198
|
+
2\. In order to create a virual host add the following to */etc/hosts/*:
|
201
199
|
|
202
200
|
127.0.0.1 localhost.localdomain localhost hitch.local
|
203
201
|
|
204
|
-
or, read [editing /etc/hosts is waste of my
|
202
|
+
or, read [editing /etc/hosts is waste of my
|
205
203
|
time](http://www.taylorluk.com/articles/2009/08/12/hey-pac-man-sup-subdomains).
|
data/Rakefile
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
require 'bundler/gem_tasks'
|
data/examples/rsummer/config.ru
CHANGED
data/examples/rsummer/summer.rb
CHANGED
@@ -1,18 +1,15 @@
|
|
1
1
|
# -*- coding: utf-8 -*-
|
2
2
|
|
3
3
|
require 'sinatra/base'
|
4
|
-
|
5
|
-
gem 'sinatra-static-assets'
|
6
4
|
require 'sinatra/static_assets'
|
7
5
|
|
8
6
|
module Sinatra
|
9
7
|
class Summer < Sinatra::Base
|
10
|
-
|
11
|
-
|
12
|
-
|
8
|
+
register Sinatra::StaticAssets
|
9
|
+
|
13
10
|
set :app_file, __FILE__
|
14
|
-
set :static, true
|
15
|
-
|
11
|
+
set :static, true
|
12
|
+
|
16
13
|
get '/?' do
|
17
14
|
@title = "Tatra Mountains, Błyszcz (2159 m)"
|
18
15
|
erb :index
|
data/examples/rwinter/winter.rb
CHANGED
@@ -7,12 +7,11 @@ require 'sinatra/static_assets'
|
|
7
7
|
|
8
8
|
module Sinatra
|
9
9
|
class Winter < Sinatra::Base
|
10
|
-
|
11
|
-
|
12
|
-
|
10
|
+
register Sinatra::StaticAssets
|
11
|
+
|
13
12
|
set :app_file, __FILE__
|
14
|
-
set :static, true
|
15
|
-
|
13
|
+
set :static, true
|
14
|
+
|
16
15
|
get '/?' do
|
17
16
|
@title = "Tatra Mountains, Dolina Gąsienicowa (1500 m)"
|
18
17
|
erb :index
|
data/examples/summer/config.ru
CHANGED
data/examples/summer/summer.rb
CHANGED
data/examples/winter/config.ru
CHANGED
data/examples/winter/winter.rb
CHANGED
@@ -1,5 +1,4 @@
|
|
1
1
|
require 'sinatra/base'
|
2
|
-
require 'sinatra/url_for'
|
3
2
|
|
4
3
|
module Sinatra
|
5
4
|
module StaticAssets
|
@@ -28,6 +27,8 @@ module Sinatra
|
|
28
27
|
list.collect { |source| javascript_tag(source, options) }.join("\n")
|
29
28
|
end
|
30
29
|
|
30
|
+
alias :javascript_include_tag :javascript_script_tag
|
31
|
+
|
31
32
|
def link_to(desc, url, options = {})
|
32
33
|
tag("a", options.merge(:href => url_for(url))) do
|
33
34
|
desc
|
@@ -36,6 +37,10 @@ module Sinatra
|
|
36
37
|
|
37
38
|
private
|
38
39
|
|
40
|
+
def url_for(addr, absolute = false)
|
41
|
+
uri(addr, absolute == :full ? true : false, true)
|
42
|
+
end
|
43
|
+
|
39
44
|
def tag(name, local_options = {})
|
40
45
|
start_tag = "<#{name}#{tag_options(local_options) if local_options}"
|
41
46
|
if block_given?
|
@@ -49,7 +54,8 @@ module Sinatra
|
|
49
54
|
def tag_options(options)
|
50
55
|
unless options.empty?
|
51
56
|
attrs = []
|
52
|
-
attrs = options.map { |key, value| %(#{key}="#{Rack::Utils.escape_html(value)}") }
|
57
|
+
#attrs = options.map { |key, value| %(#{key}="#{Rack::Utils.escape_html(value)}") }
|
58
|
+
attrs = options.map { |key, value| %(#{key}="#{value}") }
|
53
59
|
" #{attrs.sort * ' '}" unless attrs.empty?
|
54
60
|
end
|
55
61
|
end
|
@@ -68,7 +74,7 @@ module Sinatra
|
|
68
74
|
|
69
75
|
def extract_options(a)
|
70
76
|
opts = a.last.is_a?(::Hash) ? a.pop : {}
|
71
|
-
[a, opts]
|
77
|
+
[a, opts]
|
72
78
|
end
|
73
79
|
|
74
80
|
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
|
3
|
+
$:.push File.expand_path("../lib", __FILE__)
|
4
|
+
|
5
|
+
Gem::Specification.new do |s|
|
6
|
+
s.name = "sinatra-static-assets"
|
7
|
+
s.version = "1.0.0"
|
8
|
+
s.authors = ["Włodek Bzyl"]
|
9
|
+
s.email = ["matwb@ug.edu.pl"]
|
10
|
+
s.homepage = ""
|
11
|
+
s.summary = %q{A Sinatra extension.}
|
12
|
+
s.description = %q{This Sinatra extensions provides following helper methods:
|
13
|
+
- image_tag
|
14
|
+
- stylesheet_link_tag
|
15
|
+
- javascript_script_tag}
|
16
|
+
|
17
|
+
s.add_runtime_dependency 'sinatra', '>= 1.1.0'
|
18
|
+
|
19
|
+
s.add_development_dependency 'rack'
|
20
|
+
s.add_development_dependency 'rack-test'
|
21
|
+
|
22
|
+
s.rubyforge_project = "sinatra-static-assets"
|
23
|
+
|
24
|
+
s.files = `git ls-files`.split("\n")
|
25
|
+
s.test_files = `git ls-files -- {test}/*`.split("\n")
|
26
|
+
s.require_paths = ["lib"]
|
27
|
+
end
|
data/test/sinatra_app.rb
CHANGED
data/test/sinatra_baseapp.rb
CHANGED
@@ -8,11 +8,10 @@ require 'sinatra/static_assets'
|
|
8
8
|
|
9
9
|
module Sinatra
|
10
10
|
class XHTML < Sinatra::Base
|
11
|
-
helpers Sinatra::UrlForHelper
|
12
11
|
register Sinatra::StaticAssets
|
13
12
|
|
14
13
|
enable :xhtml
|
15
|
-
|
14
|
+
|
16
15
|
get '/image_tag' do
|
17
16
|
content_type "text/plain"
|
18
17
|
"#{image_tag("/images/foo.jpg")}"
|
@@ -1,4 +1,4 @@
|
|
1
|
-
require 'sinatra_app'
|
1
|
+
require './test/sinatra_app'
|
2
2
|
require 'test/unit'
|
3
3
|
require 'rack/test'
|
4
4
|
|
@@ -20,7 +20,7 @@ class SintraStaticAssetsTest < Test::Unit::TestCase
|
|
20
20
|
http://example.org/bar/foo
|
21
21
|
EOD
|
22
22
|
end
|
23
|
-
|
23
|
+
|
24
24
|
def test_image_tag_returns_sub_uri
|
25
25
|
get '/image_tag', {}, 'SCRIPT_NAME' => '/bar'
|
26
26
|
assert last_response.ok?
|
@@ -37,7 +37,7 @@ EOD
|
|
37
37
|
<link charset="utf-8" href="/bar/stylesheets/summer.css" media="projection" rel="stylesheet" type="text/css">
|
38
38
|
EOD
|
39
39
|
end
|
40
|
-
|
40
|
+
|
41
41
|
def test_javascript_script_tag_returns_sub_uri
|
42
42
|
get '/javascript_script_tag', {}, 'SCRIPT_NAME' => '/bar'
|
43
43
|
assert last_response.ok?
|
@@ -45,7 +45,7 @@ EOD
|
|
45
45
|
<script charset="iso-8859-2" src="/bar/javascripts/summer.js" type="text/javascript"></script>
|
46
46
|
EOD
|
47
47
|
end
|
48
|
-
|
48
|
+
|
49
49
|
def test_link_to_tag_returns_sub_uri
|
50
50
|
get '/link_to_tag', {}, 'SCRIPT_NAME' => '/bar'
|
51
51
|
assert last_response.ok?
|
@@ -53,5 +53,5 @@ EOD
|
|
53
53
|
<a href="/bar/topr">Tatry Mountains Rescue Team</a>
|
54
54
|
EOD
|
55
55
|
end
|
56
|
-
|
56
|
+
|
57
57
|
end
|
@@ -1,4 +1,4 @@
|
|
1
|
-
require 'sinatra_baseapp'
|
1
|
+
require './test/sinatra_baseapp'
|
2
2
|
require 'test/unit'
|
3
3
|
require 'rack/test'
|
4
4
|
|
@@ -6,9 +6,9 @@ class SintraStaticAssetsXHTMLTest < Test::Unit::TestCase
|
|
6
6
|
include Rack::Test::Methods
|
7
7
|
|
8
8
|
def app
|
9
|
-
Sinatra::XHTML.new
|
9
|
+
Sinatra::XHTML.new
|
10
10
|
end
|
11
|
-
|
11
|
+
|
12
12
|
def test_image_tag_closes
|
13
13
|
get '/image_tag'
|
14
14
|
assert last_response.ok?
|
@@ -21,5 +21,5 @@ class SintraStaticAssetsXHTMLTest < Test::Unit::TestCase
|
|
21
21
|
assert_equal last_response.body,
|
22
22
|
"<link charset=\"utf-8\" href=\"/stylesheets/winter.css\" media=\"screen\" rel=\"stylesheet\" type=\"text/css\"/>"
|
23
23
|
end
|
24
|
-
|
24
|
+
|
25
25
|
end
|
metadata
CHANGED
@@ -1,73 +1,63 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: sinatra-static-assets
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.0.0
|
5
|
+
prerelease:
|
5
6
|
platform: ruby
|
6
|
-
authors:
|
7
|
-
-
|
7
|
+
authors:
|
8
|
+
- Włodek Bzyl
|
8
9
|
autorequire:
|
9
10
|
bindir: bin
|
10
11
|
cert_chain: []
|
11
|
-
|
12
|
-
date: 2009-11-23 00:00:00 +01:00
|
12
|
+
date: 2011-07-10 00:00:00.000000000 +02:00
|
13
13
|
default_executable:
|
14
|
-
dependencies:
|
15
|
-
- !ruby/object:Gem::Dependency
|
16
|
-
name: rack
|
17
|
-
type: :runtime
|
18
|
-
version_requirement:
|
19
|
-
version_requirements: !ruby/object:Gem::Requirement
|
20
|
-
requirements:
|
21
|
-
- - ">="
|
22
|
-
- !ruby/object:Gem::Version
|
23
|
-
version: 1.0.0
|
24
|
-
version:
|
25
|
-
- !ruby/object:Gem::Dependency
|
14
|
+
dependencies:
|
15
|
+
- !ruby/object:Gem::Dependency
|
26
16
|
name: sinatra
|
17
|
+
requirement: &21435680 !ruby/object:Gem::Requirement
|
18
|
+
none: false
|
19
|
+
requirements:
|
20
|
+
- - ! '>='
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: 1.1.0
|
27
23
|
type: :runtime
|
28
|
-
|
29
|
-
version_requirements:
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
- !
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
- !ruby/object:Gem::Version
|
43
|
-
version: 0.2.1
|
44
|
-
version:
|
45
|
-
- !ruby/object:Gem::Dependency
|
24
|
+
prerelease: false
|
25
|
+
version_requirements: *21435680
|
26
|
+
- !ruby/object:Gem::Dependency
|
27
|
+
name: rack
|
28
|
+
requirement: &21435280 !ruby/object:Gem::Requirement
|
29
|
+
none: false
|
30
|
+
requirements:
|
31
|
+
- - ! '>='
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: *21435280
|
37
|
+
- !ruby/object:Gem::Dependency
|
46
38
|
name: rack-test
|
39
|
+
requirement: &21434720 !ruby/object:Gem::Requirement
|
40
|
+
none: false
|
41
|
+
requirements:
|
42
|
+
- - ! '>='
|
43
|
+
- !ruby/object:Gem::Version
|
44
|
+
version: '0'
|
47
45
|
type: :development
|
48
|
-
|
49
|
-
version_requirements:
|
50
|
-
|
51
|
-
- - "
|
52
|
-
|
53
|
-
|
54
|
-
version:
|
55
|
-
description: |
|
56
|
-
This Sinatra extensions provides following helper methods:
|
57
|
-
- image_tag
|
58
|
-
- stylesheet_link_tag
|
59
|
-
- javascript_script_tag
|
60
|
-
|
61
|
-
email: matwb@univ.gda.pl
|
46
|
+
prerelease: false
|
47
|
+
version_requirements: *21434720
|
48
|
+
description: ! "This Sinatra extensions provides following helper methods:\n -
|
49
|
+
image_tag\n - stylesheet_link_tag\n - javascript_script_tag"
|
50
|
+
email:
|
51
|
+
- matwb@ug.edu.pl
|
62
52
|
executables: []
|
63
|
-
|
64
53
|
extensions: []
|
65
|
-
|
66
|
-
|
54
|
+
extra_rdoc_files: []
|
55
|
+
files:
|
56
|
+
- .gitignore
|
57
|
+
- Gemfile
|
67
58
|
- LICENSE
|
68
|
-
- README.
|
69
|
-
|
70
|
-
- VERSION.yml
|
59
|
+
- README.md
|
60
|
+
- Rakefile
|
71
61
|
- examples/rconfig.ru
|
72
62
|
- examples/rsummer/config.ru
|
73
63
|
- examples/rsummer/public/images/tatry1.jpg
|
@@ -107,46 +97,35 @@ files:
|
|
107
97
|
- examples/winter/views/layout.erb
|
108
98
|
- examples/winter/winter.rb
|
109
99
|
- lib/sinatra/static_assets.rb
|
100
|
+
- lib/sinatra/version.rb
|
101
|
+
- sinatra-static-assets.gemspec
|
110
102
|
- test/sinatra_app.rb
|
111
103
|
- test/sinatra_baseapp.rb
|
112
104
|
- test/sinatra_static_assets_test.rb
|
113
105
|
- test/sinatra_static_assets_xhtml_test.rb
|
114
|
-
- LICENSE
|
115
|
-
- README.markdown
|
116
106
|
has_rdoc: true
|
117
|
-
homepage:
|
107
|
+
homepage: ''
|
118
108
|
licenses: []
|
119
|
-
|
120
109
|
post_install_message:
|
121
|
-
rdoc_options:
|
122
|
-
|
123
|
-
require_paths:
|
110
|
+
rdoc_options: []
|
111
|
+
require_paths:
|
124
112
|
- lib
|
125
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
113
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
114
|
+
none: false
|
115
|
+
requirements:
|
116
|
+
- - ! '>='
|
117
|
+
- !ruby/object:Gem::Version
|
118
|
+
version: '0'
|
119
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
120
|
+
none: false
|
121
|
+
requirements:
|
122
|
+
- - ! '>='
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: '0'
|
137
125
|
requirements: []
|
138
|
-
|
139
126
|
rubyforge_project: sinatra-static-assets
|
140
|
-
rubygems_version: 1.
|
127
|
+
rubygems_version: 1.6.2
|
141
128
|
signing_key:
|
142
129
|
specification_version: 3
|
143
|
-
summary: Sinatra extension
|
144
|
-
test_files:
|
145
|
-
- test/sinatra_static_assets_xhtml_test.rb
|
146
|
-
- test/sinatra_app.rb
|
147
|
-
- test/sinatra_static_assets_test.rb
|
148
|
-
- test/sinatra_baseapp.rb
|
149
|
-
- examples/summer/summer.rb
|
150
|
-
- examples/rwinter/winter.rb
|
151
|
-
- examples/winter/winter.rb
|
152
|
-
- examples/rsummer/summer.rb
|
130
|
+
summary: A Sinatra extension.
|
131
|
+
test_files: []
|