sinatra-settings 0.1.0 → 0.1.2
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGES +15 -0
- data/README.rdoc +11 -4
- data/Rakefile +1 -1
- data/VERSION +1 -1
- data/lib/sinatra/settings.rb +51 -9
- data/sinatra-settings.gemspec +8 -7
- data/spec/sinatra/settings_spec.rb +1 -1
- metadata +18 -7
data/CHANGES
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
|
2
|
+
rel 0.1.2 (2010-08-29)
|
3
|
+
|
4
|
+
* Issue: #1 added 'classic' Sinatra app support
|
5
|
+
* Some minor changes in the settings output.
|
6
|
+
|
7
|
+
rel 0.1.1 (2010-03-01)
|
8
|
+
|
9
|
+
* Bug fix: #1 added nl2br method
|
10
|
+
* Added Extensions output, listing loaded extensions and version if available.
|
11
|
+
|
12
|
+
|
13
|
+
rel 0.1.0 (2010-02-23)
|
14
|
+
|
15
|
+
* intial release of gem / code
|
data/README.rdoc
CHANGED
@@ -12,9 +12,6 @@ With a heavy dose of inspiration taken from Sinatra's Show Exception output page
|
|
12
12
|
|
13
13
|
== Installation
|
14
14
|
|
15
|
-
# Add Gemcutter to your RubyGems sources
|
16
|
-
$ gem sources -a http://gemcutter.com
|
17
|
-
|
18
15
|
$ (sudo)? gem install sinatra-settings
|
19
16
|
|
20
17
|
== Dependencies
|
@@ -23,7 +20,7 @@ This Gem depends upon the following:
|
|
23
20
|
|
24
21
|
=== Runtime:
|
25
22
|
|
26
|
-
* sinatra ( >= 1.0
|
23
|
+
* sinatra ( >= 1.0 )
|
27
24
|
|
28
25
|
|
29
26
|
=== Development & Tests:
|
@@ -51,6 +48,16 @@ in your sub-classed Sinatra app:
|
|
51
48
|
end
|
52
49
|
|
53
50
|
|
51
|
+
In your "classic" Sinatra app, you just require the extension like this:
|
52
|
+
|
53
|
+
require 'rubygems'
|
54
|
+
require 'sinatra'
|
55
|
+
require 'sinatra/settings'
|
56
|
+
|
57
|
+
<snip...>
|
58
|
+
|
59
|
+
|
60
|
+
|
54
61
|
Then at the bottom of your App's layout - <tt>layout.(erb|haml)</tt> add the following:
|
55
62
|
|
56
63
|
|
data/Rakefile
CHANGED
@@ -10,7 +10,7 @@ begin
|
|
10
10
|
gem.email = "kematzy@gmail.com"
|
11
11
|
gem.homepage = "http://github.com/kematzy/sinatra-settings"
|
12
12
|
gem.authors = ["kematzy"]
|
13
|
-
gem.add_dependency "sinatra", ">= 0
|
13
|
+
gem.add_dependency "sinatra", ">= 1.0"
|
14
14
|
gem.add_development_dependency "sinatra-tests", ">= 0.1.6"
|
15
15
|
gem.add_development_dependency "rspec", ">= 1.3.0"
|
16
16
|
# gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.1.
|
1
|
+
0.1.2
|
data/lib/sinatra/settings.rb
CHANGED
@@ -1,7 +1,4 @@
|
|
1
1
|
|
2
|
-
require 'sinatra/base'
|
3
|
-
|
4
|
-
|
5
2
|
module Sinatra
|
6
3
|
|
7
4
|
# :stopdoc:
|
@@ -46,7 +43,7 @@ module Sinatra
|
|
46
43
|
#
|
47
44
|
# === Runtime:
|
48
45
|
#
|
49
|
-
# * sinatra ( >= 1.0
|
46
|
+
# * sinatra ( >= 1.0 )
|
50
47
|
#
|
51
48
|
#
|
52
49
|
# === Development & Tests:
|
@@ -73,6 +70,15 @@ module Sinatra
|
|
73
70
|
# <snip...>
|
74
71
|
# end
|
75
72
|
#
|
73
|
+
# In your "classic" Sinatra app, you just require the extension like this:
|
74
|
+
#
|
75
|
+
# require 'rubygems'
|
76
|
+
# require 'sinatra'
|
77
|
+
# require 'sinatra/settings'
|
78
|
+
#
|
79
|
+
# <snip...>
|
80
|
+
#
|
81
|
+
#
|
76
82
|
#
|
77
83
|
# Then at the bottom of your App's layout - <tt>layout.(erb|haml)</tt> add the following:
|
78
84
|
#
|
@@ -135,7 +141,7 @@ module Sinatra
|
|
135
141
|
|
136
142
|
module Settings
|
137
143
|
|
138
|
-
VERSION = '0.1.
|
144
|
+
VERSION = '0.1.2' unless const_defined?(:VERSION)
|
139
145
|
def self.version; "Sinatra::Settings v#{VERSION}"; end
|
140
146
|
|
141
147
|
|
@@ -147,6 +153,18 @@ module Sinatra
|
|
147
153
|
alias_method :h, :escape_html
|
148
154
|
end
|
149
155
|
|
156
|
+
unless respond_to?(:nl2br)
|
157
|
+
##
|
158
|
+
# Convert new lines (\n) into +<br>+ tags in the given text
|
159
|
+
#
|
160
|
+
# ==== Examples
|
161
|
+
#
|
162
|
+
# @api public
|
163
|
+
def nl2br(txt)
|
164
|
+
txt.gsub("\n", '<br>')
|
165
|
+
end
|
166
|
+
end
|
167
|
+
|
150
168
|
|
151
169
|
##
|
152
170
|
# Convenience helper method that returns a Hash, nicely
|
@@ -218,12 +236,12 @@ TEMPLATE = <<HTML
|
|
218
236
|
/* table.req tr td.code { white-space: pre-wrap; word-wrap: break-word; } */
|
219
237
|
table.req tr td.key { width: 200px; overflow:hidden; }
|
220
238
|
table.req tr td.code div { width: 650px; overflow:hidden; }
|
221
|
-
|
239
|
+
.quiet { color: #aaa; }
|
222
240
|
</style>
|
223
241
|
|
224
242
|
<div id="debug">
|
225
243
|
|
226
|
-
<h2>
|
244
|
+
<h2>APP INFORMATION</h2>
|
227
245
|
|
228
246
|
<div id="get">
|
229
247
|
<h3>GET</h3>
|
@@ -329,7 +347,7 @@ TEMPLATE = <<HTML
|
|
329
347
|
<% r.each { |route| %>
|
330
348
|
<tr>
|
331
349
|
<td class="key"><%=h route.split(' ').first %></td>
|
332
|
-
<td class="code"><div><%= request.script_name
|
350
|
+
<td class="code"><div><%= request.script_name %><a href="<%=h route.split(' ')[1].sub(/\\?$/,'') %>"><%=h route.split(' ')[1] %></a></div></td>
|
333
351
|
</tr>
|
334
352
|
<% } %>
|
335
353
|
</table>
|
@@ -371,6 +389,29 @@ TEMPLATE = <<HTML
|
|
371
389
|
|
372
390
|
<hr>
|
373
391
|
|
392
|
+
<div id="extensions">
|
393
|
+
<h3>EXTENSIONS (registered)</h3>
|
394
|
+
<table class="req">
|
395
|
+
<tr>
|
396
|
+
<th>Name</th>
|
397
|
+
<th>Version</th>
|
398
|
+
</tr>
|
399
|
+
<% self.class.extensions.each do |ext| %>
|
400
|
+
<tr>
|
401
|
+
<td class="key"><%=h ext %></td>
|
402
|
+
<% if ext.const_defined?(:VERSION) %>
|
403
|
+
<td class="code"><div><%= ext.const_get(:VERSION) %></div></td>
|
404
|
+
<% else %>
|
405
|
+
<td class="code"><div>Unknown <span class="quiet">(no constant :VERSION defined in extension)</span></div></td>
|
406
|
+
<% end %>
|
407
|
+
</tr>
|
408
|
+
<% end %>
|
409
|
+
</table>
|
410
|
+
<div class="clear"></div>
|
411
|
+
</div> <!-- /EXTENSIONS -->
|
412
|
+
|
413
|
+
<hr>
|
414
|
+
|
374
415
|
<div id="rack">
|
375
416
|
<h3 id="env-info">Rack ENV</h3>
|
376
417
|
<table class="req">
|
@@ -424,5 +465,6 @@ HTML
|
|
424
465
|
|
425
466
|
end #/module Settings
|
426
467
|
|
468
|
+
register(Sinatra::Settings)
|
469
|
+
|
427
470
|
end #/module Sinatra
|
428
|
-
|
data/sinatra-settings.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{sinatra-settings}
|
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 = ["kematzy"]
|
12
|
-
s.date = %q{2010-
|
12
|
+
s.date = %q{2010-08-29}
|
13
13
|
s.description = %q{Want an overview of all Sinatra settings (formerly options) in your app? This Sinatra Extension makes that dead simple.}
|
14
14
|
s.email = %q{kematzy@gmail.com}
|
15
15
|
s.extra_rdoc_files = [
|
@@ -19,6 +19,7 @@ Gem::Specification.new do |s|
|
|
19
19
|
s.files = [
|
20
20
|
".document",
|
21
21
|
".gitignore",
|
22
|
+
"CHANGES",
|
22
23
|
"LICENSE",
|
23
24
|
"README.rdoc",
|
24
25
|
"Rakefile",
|
@@ -32,7 +33,7 @@ Gem::Specification.new do |s|
|
|
32
33
|
s.homepage = %q{http://github.com/kematzy/sinatra-settings}
|
33
34
|
s.rdoc_options = ["--charset=UTF-8"]
|
34
35
|
s.require_paths = ["lib"]
|
35
|
-
s.rubygems_version = %q{1.3.
|
36
|
+
s.rubygems_version = %q{1.3.7}
|
36
37
|
s.summary = %q{A Sinatra Extension that shows your app's settings and other debug information}
|
37
38
|
s.test_files = [
|
38
39
|
"spec/sinatra/settings_spec.rb",
|
@@ -43,17 +44,17 @@ Gem::Specification.new do |s|
|
|
43
44
|
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
44
45
|
s.specification_version = 3
|
45
46
|
|
46
|
-
if Gem::Version.new(Gem::
|
47
|
-
s.add_runtime_dependency(%q<sinatra>, [">= 0
|
47
|
+
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
48
|
+
s.add_runtime_dependency(%q<sinatra>, [">= 1.0"])
|
48
49
|
s.add_development_dependency(%q<sinatra-tests>, [">= 0.1.6"])
|
49
50
|
s.add_development_dependency(%q<rspec>, [">= 1.3.0"])
|
50
51
|
else
|
51
|
-
s.add_dependency(%q<sinatra>, [">= 0
|
52
|
+
s.add_dependency(%q<sinatra>, [">= 1.0"])
|
52
53
|
s.add_dependency(%q<sinatra-tests>, [">= 0.1.6"])
|
53
54
|
s.add_dependency(%q<rspec>, [">= 1.3.0"])
|
54
55
|
end
|
55
56
|
else
|
56
|
-
s.add_dependency(%q<sinatra>, [">= 0
|
57
|
+
s.add_dependency(%q<sinatra>, [">= 1.0"])
|
57
58
|
s.add_dependency(%q<sinatra-tests>, [">= 0.1.6"])
|
58
59
|
s.add_dependency(%q<rspec>, [">= 1.3.0"])
|
59
60
|
end
|
@@ -179,7 +179,7 @@ describe "Sinatra" do
|
|
179
179
|
erb_app "<%= show_settings_output? %>"
|
180
180
|
# body.should have_tag(:debug)
|
181
181
|
body.should have_tag('div#debug') do |div|
|
182
|
-
div.should have_tag('h2', '
|
182
|
+
div.should have_tag('h2', 'APP INFORMATION')
|
183
183
|
div.should have_tag('div#get > table.req')
|
184
184
|
|
185
185
|
div.should have_tag('div#params > table.req')
|
metadata
CHANGED
@@ -1,12 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sinatra-settings
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
+
hash: 31
|
4
5
|
prerelease: false
|
5
6
|
segments:
|
6
7
|
- 0
|
7
8
|
- 1
|
8
|
-
-
|
9
|
-
version: 0.1.
|
9
|
+
- 2
|
10
|
+
version: 0.1.2
|
10
11
|
platform: ruby
|
11
12
|
authors:
|
12
13
|
- kematzy
|
@@ -14,30 +15,33 @@ autorequire:
|
|
14
15
|
bindir: bin
|
15
16
|
cert_chain: []
|
16
17
|
|
17
|
-
date: 2010-
|
18
|
+
date: 2010-08-29 00:00:00 +08:00
|
18
19
|
default_executable:
|
19
20
|
dependencies:
|
20
21
|
- !ruby/object:Gem::Dependency
|
21
22
|
name: sinatra
|
22
23
|
prerelease: false
|
23
24
|
requirement: &id001 !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
24
26
|
requirements:
|
25
27
|
- - ">="
|
26
28
|
- !ruby/object:Gem::Version
|
29
|
+
hash: 15
|
27
30
|
segments:
|
28
|
-
- 0
|
29
|
-
- 10
|
30
31
|
- 1
|
31
|
-
|
32
|
+
- 0
|
33
|
+
version: "1.0"
|
32
34
|
type: :runtime
|
33
35
|
version_requirements: *id001
|
34
36
|
- !ruby/object:Gem::Dependency
|
35
37
|
name: sinatra-tests
|
36
38
|
prerelease: false
|
37
39
|
requirement: &id002 !ruby/object:Gem::Requirement
|
40
|
+
none: false
|
38
41
|
requirements:
|
39
42
|
- - ">="
|
40
43
|
- !ruby/object:Gem::Version
|
44
|
+
hash: 23
|
41
45
|
segments:
|
42
46
|
- 0
|
43
47
|
- 1
|
@@ -49,9 +53,11 @@ dependencies:
|
|
49
53
|
name: rspec
|
50
54
|
prerelease: false
|
51
55
|
requirement: &id003 !ruby/object:Gem::Requirement
|
56
|
+
none: false
|
52
57
|
requirements:
|
53
58
|
- - ">="
|
54
59
|
- !ruby/object:Gem::Version
|
60
|
+
hash: 27
|
55
61
|
segments:
|
56
62
|
- 1
|
57
63
|
- 3
|
@@ -71,6 +77,7 @@ extra_rdoc_files:
|
|
71
77
|
files:
|
72
78
|
- .document
|
73
79
|
- .gitignore
|
80
|
+
- CHANGES
|
74
81
|
- LICENSE
|
75
82
|
- README.rdoc
|
76
83
|
- Rakefile
|
@@ -90,23 +97,27 @@ rdoc_options:
|
|
90
97
|
require_paths:
|
91
98
|
- lib
|
92
99
|
required_ruby_version: !ruby/object:Gem::Requirement
|
100
|
+
none: false
|
93
101
|
requirements:
|
94
102
|
- - ">="
|
95
103
|
- !ruby/object:Gem::Version
|
104
|
+
hash: 3
|
96
105
|
segments:
|
97
106
|
- 0
|
98
107
|
version: "0"
|
99
108
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
109
|
+
none: false
|
100
110
|
requirements:
|
101
111
|
- - ">="
|
102
112
|
- !ruby/object:Gem::Version
|
113
|
+
hash: 3
|
103
114
|
segments:
|
104
115
|
- 0
|
105
116
|
version: "0"
|
106
117
|
requirements: []
|
107
118
|
|
108
119
|
rubyforge_project:
|
109
|
-
rubygems_version: 1.3.
|
120
|
+
rubygems_version: 1.3.7
|
110
121
|
signing_key:
|
111
122
|
specification_version: 3
|
112
123
|
summary: A Sinatra Extension that shows your app's settings and other debug information
|