sinatra-support 1.2.0 → 1.2.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/HISTORY.md +12 -0
- data/lib/sinatra/support/compasssupport.rb +0 -6
- data/lib/sinatra/support/compressedjs.rb +29 -14
- data/lib/sinatra/support/multirender.rb +2 -1
- data/lib/sinatra/support/version.rb +1 -1
- data/test/test_compass_app.rb +2 -4
- data/test/test_compressed_js_app.rb +1 -1
- data/test/test_htmlhelpers.rb +1 -1
- metadata +99 -95
data/HISTORY.md
CHANGED
@@ -1,3 +1,15 @@
|
|
1
|
+
Latest version - Aug 19, 2011
|
2
|
+
-----------------------------
|
3
|
+
|
4
|
+
### Fixed:
|
5
|
+
* Fixed `Sinatra::CompressedJS` to link to the production version on
|
6
|
+
production.
|
7
|
+
|
8
|
+
### Misc changes:
|
9
|
+
* Make tests more forgiving to account for different Compass/CS/etc versions.
|
10
|
+
* Improve CompressedJS docs.
|
11
|
+
* Updated gem dependencies to have a required version.
|
12
|
+
|
1
13
|
v1.2.0 - May 27, 2011
|
2
14
|
---------------------
|
3
15
|
|
@@ -65,12 +65,6 @@ module Sinatra::CompassSupport
|
|
65
65
|
end
|
66
66
|
|
67
67
|
private
|
68
|
-
def self.lol(app)
|
69
|
-
Compass.configuration do |c|
|
70
|
-
c.project_path = app.root
|
71
|
-
c.sass_dir = app.views
|
72
|
-
end
|
73
|
-
end
|
74
68
|
|
75
69
|
def self.add_compass_engine_options(app)
|
76
70
|
options = Compass.sass_engine_options
|
@@ -3,7 +3,7 @@
|
|
3
3
|
# == Usage example
|
4
4
|
#
|
5
5
|
# Assuming you have JavaScript files stored in +./app/js+, and you want to serve
|
6
|
-
# the compressed JS in +
|
6
|
+
# the compressed JS in +yoursite.com/js/compressed.js+:
|
7
7
|
#
|
8
8
|
# # CompressedJS is recommended to be used alongside JsSupport to serve
|
9
9
|
# # raw JS files in development mode. This will make your /app/js/*.js
|
@@ -11,14 +11,12 @@
|
|
11
11
|
#
|
12
12
|
# register Sinatra::JsSupport
|
13
13
|
# serve_js '/js', from: './app/js'
|
14
|
-
#
|
15
|
-
#
|
16
|
-
#
|
17
|
-
# register Sinatra::CompressedJS
|
14
|
+
#
|
15
|
+
# register Sinatra::CompressedJS # Load the CompressedJS plugin
|
18
16
|
#
|
19
17
|
# serve_compressed_js :app_js, # The name (used later in your views)
|
20
|
-
# :prefix => '/js', # Where the individual files can be accessed at
|
21
|
-
# :root => './app/js', # The root of your files
|
18
|
+
# :prefix => '/js', # Where the individual JS files can be accessed at
|
19
|
+
# :root => './app/js', # The root of your JS files
|
22
20
|
# :path => '/js/compressed.js', # The URL where the compressed JS will served at
|
23
21
|
# :files => # List of files
|
24
22
|
# Dir['./app/js/vendor/*.js'] +
|
@@ -27,11 +25,12 @@
|
|
27
25
|
# Note that +:prefix+ and +:root+ are the same things passed onto {JsSupport#serve_js serve_js}.
|
28
26
|
#
|
29
27
|
# In your template view, add this before +</body>+:
|
28
|
+
# (The name +app_js+ comes from the first parameter passed to
|
29
|
+
# {#serve_compressed_js}.)
|
30
30
|
#
|
31
31
|
# <%= settings.app_js.to_html %>
|
32
32
|
#
|
33
|
-
#
|
34
|
-
# {#serve_compressed_js}.)
|
33
|
+
# == Example output
|
35
34
|
#
|
36
35
|
# In development mode, this will probably output:
|
37
36
|
#
|
@@ -57,6 +56,11 @@
|
|
57
56
|
# # Gemfile
|
58
57
|
# gem "coffee-script", require: "coffee_script"
|
59
58
|
#
|
59
|
+
# == More functions
|
60
|
+
#
|
61
|
+
# Doing +settings.app_js+ returns a {JsFiles} instance. See the {JsFiles} class
|
62
|
+
# for more info on things you can do.
|
63
|
+
#
|
60
64
|
# == Caching
|
61
65
|
#
|
62
66
|
# CompressedJS will cache compressed and combined scripts. This means that compression
|
@@ -88,7 +92,7 @@ module Sinatra::CompressedJS
|
|
88
92
|
end
|
89
93
|
|
90
94
|
def serve_compressed_js(name, options={})
|
91
|
-
jsfiles = JsFiles.new(options)
|
95
|
+
jsfiles = JsFiles.new(options.merge(:app => self))
|
92
96
|
|
93
97
|
set name.to_sym, jsfiles
|
94
98
|
|
@@ -119,15 +123,26 @@ end
|
|
119
123
|
#
|
120
124
|
# === Usage example
|
121
125
|
#
|
122
|
-
#
|
123
|
-
#
|
126
|
+
# In Sinatra, doing {CompressedJS#serve_compressed_js} will make a
|
127
|
+
# JsFiles instance:
|
128
|
+
#
|
129
|
+
# serve_compressed_js :js_files,
|
130
|
+
# :prefix => '/javascript',
|
131
|
+
# :path => '/javascript/combined.js',
|
132
|
+
# :root => './app/js'
|
133
|
+
# files =>
|
134
|
+
# Dir['public/js/jquery.*.js'].sort +
|
135
|
+
# Dir['public/js/app.*.js'].sort
|
136
|
+
#
|
137
|
+
# js_files.is_a?(JsFiles) #=> true
|
138
|
+
# js_files.mtime #=> (Time) 2010-09-02 8:00PM
|
124
139
|
#
|
140
|
+
# Or outside Sinatra, just instanciate it as so:
|
141
|
+
#
|
125
142
|
# js_files = JsFiles.new(:files => files,
|
126
143
|
# :prefix => '/javascript',
|
127
144
|
# :root => './app/js')
|
128
145
|
#
|
129
|
-
# js_files.mtime #=> (Time) 2010-09-02 8:00PM
|
130
|
-
#
|
131
146
|
# You can use #to_html in views:
|
132
147
|
#
|
133
148
|
# <!-- Shows <script> tags -->
|
@@ -60,7 +60,8 @@ module Sinatra::MultiRender
|
|
60
60
|
engines = [*(options[:engine] || settings.multi_engines)].join(',')
|
61
61
|
|
62
62
|
t = @template_cache.fetch template, options do
|
63
|
-
|
63
|
+
spec = "{#{paths}}/#{template}.{#{engines}}"
|
64
|
+
template = Dir[spec].first or raise Errno::ENOENT.new(spec)
|
64
65
|
|
65
66
|
ext = File.extname(template)[1..-1].to_sym
|
66
67
|
options = settings.send(ext).merge(options) if settings.respond_to?(ext)
|
data/test/test_compass_app.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
require File.expand_path('../helper', __FILE__)
|
2
2
|
|
3
|
-
Encoding.default_external = 'utf-8'
|
3
|
+
Encoding.default_external = 'utf-8' if defined?(::Encoding)
|
4
4
|
|
5
5
|
class CompassAppTest < Test::Unit::TestCase
|
6
6
|
include Rack::Test::Methods
|
@@ -18,8 +18,6 @@ class CompassAppTest < Test::Unit::TestCase
|
|
18
18
|
test "boogie" do
|
19
19
|
get '/style.css'
|
20
20
|
|
21
|
-
|
22
|
-
|
23
|
-
assert_equal control, last_response.body
|
21
|
+
assert_includes last_response.body, 'filter:'
|
24
22
|
end
|
25
23
|
end
|
data/test/test_htmlhelpers.rb
CHANGED
@@ -27,7 +27,7 @@ class HtmlHelpersTest < Test::Unit::TestCase
|
|
27
27
|
|
28
28
|
test "h" do
|
29
29
|
assert_equal "<Foo>", h("<Foo>")
|
30
|
-
|
30
|
+
assert_match /^<Foo bar=&#.*?;baz&#.*?;>$/, h("<Foo bar='baz'>")
|
31
31
|
assert_equal "<Foo bar="baz">", h("<Foo bar=\"baz\">")
|
32
32
|
end
|
33
33
|
end
|
metadata
CHANGED
@@ -1,129 +1,137 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: sinatra-support
|
3
|
-
version: !ruby/object:Gem::Version
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.2.1
|
4
5
|
prerelease:
|
5
|
-
version: 1.2.0
|
6
6
|
platform: ruby
|
7
|
-
authors:
|
7
|
+
authors:
|
8
8
|
- Cyril David
|
9
9
|
- Rico Sta. Cruz
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
|
14
|
-
date: 2011-05-27 00:00:00 +08:00
|
13
|
+
date: 2011-08-19 00:00:00.000000000 +08:00
|
15
14
|
default_executable:
|
16
|
-
dependencies:
|
17
|
-
- !ruby/object:Gem::Dependency
|
15
|
+
dependencies:
|
16
|
+
- !ruby/object:Gem::Dependency
|
18
17
|
name: sinatra
|
19
|
-
|
20
|
-
requirement: &id001 !ruby/object:Gem::Requirement
|
18
|
+
requirement: &2153502260 !ruby/object:Gem::Requirement
|
21
19
|
none: false
|
22
|
-
requirements:
|
23
|
-
- -
|
24
|
-
- !ruby/object:Gem::Version
|
25
|
-
version:
|
20
|
+
requirements:
|
21
|
+
- - ! '>='
|
22
|
+
- !ruby/object:Gem::Version
|
23
|
+
version: '1.0'
|
26
24
|
type: :runtime
|
27
|
-
version_requirements: *id001
|
28
|
-
- !ruby/object:Gem::Dependency
|
29
|
-
name: rack-test
|
30
25
|
prerelease: false
|
31
|
-
|
26
|
+
version_requirements: *2153502260
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: rack-test
|
29
|
+
requirement: &2153501840 !ruby/object:Gem::Requirement
|
32
30
|
none: false
|
33
|
-
requirements:
|
34
|
-
- -
|
35
|
-
- !ruby/object:Gem::Version
|
36
|
-
version:
|
31
|
+
requirements:
|
32
|
+
- - ! '>='
|
33
|
+
- !ruby/object:Gem::Version
|
34
|
+
version: '0'
|
37
35
|
type: :development
|
38
|
-
version_requirements: *id002
|
39
|
-
- !ruby/object:Gem::Dependency
|
40
|
-
name: ohm
|
41
36
|
prerelease: false
|
42
|
-
|
37
|
+
version_requirements: *2153501840
|
38
|
+
- !ruby/object:Gem::Dependency
|
39
|
+
name: ohm
|
40
|
+
requirement: &2153501300 !ruby/object:Gem::Requirement
|
43
41
|
none: false
|
44
|
-
requirements:
|
45
|
-
- -
|
46
|
-
- !ruby/object:Gem::Version
|
47
|
-
version:
|
42
|
+
requirements:
|
43
|
+
- - ~>
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: 0.0.38
|
48
46
|
type: :development
|
49
|
-
version_requirements: *id003
|
50
|
-
- !ruby/object:Gem::Dependency
|
51
|
-
name: haml
|
52
47
|
prerelease: false
|
53
|
-
|
48
|
+
version_requirements: *2153501300
|
49
|
+
- !ruby/object:Gem::Dependency
|
50
|
+
name: haml
|
51
|
+
requirement: &2153500800 !ruby/object:Gem::Requirement
|
54
52
|
none: false
|
55
|
-
requirements:
|
56
|
-
- -
|
57
|
-
- !ruby/object:Gem::Version
|
58
|
-
version:
|
53
|
+
requirements:
|
54
|
+
- - ~>
|
55
|
+
- !ruby/object:Gem::Version
|
56
|
+
version: 3.1.2
|
59
57
|
type: :development
|
60
|
-
version_requirements: *id004
|
61
|
-
- !ruby/object:Gem::Dependency
|
62
|
-
name: mocha
|
63
58
|
prerelease: false
|
64
|
-
|
59
|
+
version_requirements: *2153500800
|
60
|
+
- !ruby/object:Gem::Dependency
|
61
|
+
name: mocha
|
62
|
+
requirement: &2153500340 !ruby/object:Gem::Requirement
|
65
63
|
none: false
|
66
|
-
requirements:
|
67
|
-
- -
|
68
|
-
- !ruby/object:Gem::Version
|
69
|
-
version:
|
64
|
+
requirements:
|
65
|
+
- - ~>
|
66
|
+
- !ruby/object:Gem::Version
|
67
|
+
version: 0.9.12
|
70
68
|
type: :development
|
71
|
-
version_requirements: *id005
|
72
|
-
- !ruby/object:Gem::Dependency
|
73
|
-
name: nokogiri
|
74
69
|
prerelease: false
|
75
|
-
|
70
|
+
version_requirements: *2153500340
|
71
|
+
- !ruby/object:Gem::Dependency
|
72
|
+
name: nokogiri
|
73
|
+
requirement: &2153499880 !ruby/object:Gem::Requirement
|
76
74
|
none: false
|
77
|
-
requirements:
|
78
|
-
- -
|
79
|
-
- !ruby/object:Gem::Version
|
80
|
-
version:
|
75
|
+
requirements:
|
76
|
+
- - ~>
|
77
|
+
- !ruby/object:Gem::Version
|
78
|
+
version: 1.5.0
|
81
79
|
type: :development
|
82
|
-
|
83
|
-
|
80
|
+
prerelease: false
|
81
|
+
version_requirements: *2153499880
|
82
|
+
- !ruby/object:Gem::Dependency
|
84
83
|
name: contest
|
84
|
+
requirement: &2153521920 !ruby/object:Gem::Requirement
|
85
|
+
none: false
|
86
|
+
requirements:
|
87
|
+
- - ~>
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: 0.1.3
|
90
|
+
type: :development
|
85
91
|
prerelease: false
|
86
|
-
|
92
|
+
version_requirements: *2153521920
|
93
|
+
- !ruby/object:Gem::Dependency
|
94
|
+
name: compass
|
95
|
+
requirement: &2153521460 !ruby/object:Gem::Requirement
|
87
96
|
none: false
|
88
|
-
requirements:
|
89
|
-
- -
|
90
|
-
- !ruby/object:Gem::Version
|
91
|
-
version:
|
97
|
+
requirements:
|
98
|
+
- - ~>
|
99
|
+
- !ruby/object:Gem::Version
|
100
|
+
version: 0.11.5
|
92
101
|
type: :development
|
93
|
-
version_requirements: *id007
|
94
|
-
- !ruby/object:Gem::Dependency
|
95
|
-
name: coffee-script
|
96
102
|
prerelease: false
|
97
|
-
|
103
|
+
version_requirements: *2153521460
|
104
|
+
- !ruby/object:Gem::Dependency
|
105
|
+
name: coffee-script
|
106
|
+
requirement: &2153521000 !ruby/object:Gem::Requirement
|
98
107
|
none: false
|
99
|
-
requirements:
|
108
|
+
requirements:
|
100
109
|
- - ~>
|
101
|
-
- !ruby/object:Gem::Version
|
110
|
+
- !ruby/object:Gem::Version
|
102
111
|
version: 2.1.1
|
103
112
|
type: :development
|
104
|
-
version_requirements: *id008
|
105
|
-
- !ruby/object:Gem::Dependency
|
106
|
-
name: jsmin
|
107
113
|
prerelease: false
|
108
|
-
|
114
|
+
version_requirements: *2153521000
|
115
|
+
- !ruby/object:Gem::Dependency
|
116
|
+
name: jsmin
|
117
|
+
requirement: &2153520540 !ruby/object:Gem::Requirement
|
109
118
|
none: false
|
110
|
-
requirements:
|
119
|
+
requirements:
|
111
120
|
- - ~>
|
112
|
-
- !ruby/object:Gem::Version
|
121
|
+
- !ruby/object:Gem::Version
|
113
122
|
version: 1.0.1
|
114
123
|
type: :development
|
115
|
-
|
116
|
-
|
117
|
-
|
124
|
+
prerelease: false
|
125
|
+
version_requirements: *2153520540
|
126
|
+
description: Sinatra-support includes many helpers for forms, errors and many amazing
|
127
|
+
things.
|
128
|
+
email:
|
118
129
|
- cyx.ucron@gmail.com
|
119
130
|
- rico@sinefunc.com
|
120
131
|
executables: []
|
121
|
-
|
122
132
|
extensions: []
|
123
|
-
|
124
133
|
extra_rdoc_files: []
|
125
|
-
|
126
|
-
files:
|
134
|
+
files:
|
127
135
|
- lib/sinatra/support/compasssupport.rb
|
128
136
|
- lib/sinatra/support/compat-1.8.6.rb
|
129
137
|
- lib/sinatra/support/compressedjs.rb
|
@@ -175,30 +183,26 @@ files:
|
|
175
183
|
has_rdoc: true
|
176
184
|
homepage: http://github.com/sinefunc/sinatra-support
|
177
185
|
licenses: []
|
178
|
-
|
179
186
|
post_install_message:
|
180
187
|
rdoc_options: []
|
181
|
-
|
182
|
-
require_paths:
|
188
|
+
require_paths:
|
183
189
|
- lib
|
184
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
190
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
185
191
|
none: false
|
186
|
-
requirements:
|
187
|
-
- -
|
188
|
-
- !ruby/object:Gem::Version
|
189
|
-
version:
|
190
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
192
|
+
requirements:
|
193
|
+
- - ! '>='
|
194
|
+
- !ruby/object:Gem::Version
|
195
|
+
version: '0'
|
196
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
191
197
|
none: false
|
192
|
-
requirements:
|
193
|
-
- -
|
194
|
-
- !ruby/object:Gem::Version
|
195
|
-
version:
|
198
|
+
requirements:
|
199
|
+
- - ! '>='
|
200
|
+
- !ruby/object:Gem::Version
|
201
|
+
version: '0'
|
196
202
|
requirements: []
|
197
|
-
|
198
203
|
rubyforge_project:
|
199
204
|
rubygems_version: 1.6.2
|
200
205
|
signing_key:
|
201
206
|
specification_version: 3
|
202
207
|
summary: A gem with many essential helpers for creating web apps with Sinatra.
|
203
208
|
test_files: []
|
204
|
-
|