sinatra-chassis 1.0.3 → 1.0.4
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/lib/sinatra/chassis.rb +9 -9
- data/lib/sinatra/chassis/helpers.rb +8 -2
- data/lib/sinatra/chassis/tasks.rb +4 -0
- data/lib/sinatra/tasks/assets.rake +2 -2
- data/lib/sinatra/templates/chassis/Gemfile +5 -5
- data/lib/sinatra/templates/chassis/README.md +9 -1
- data/lib/sinatra/templates/chassis/app.rb +1 -7
- data/sinatra-chassis.gemspec +5 -5
- metadata +41 -27
- checksums.yaml +0 -7
- data/lib/sinatra/templates/chassis/views/readme.erb +0 -23
data/lib/sinatra/chassis.rb
CHANGED
@@ -186,24 +186,24 @@ module Sinatra
|
|
186
186
|
# no template is found, a 404 is called.
|
187
187
|
#
|
188
188
|
# In production, the 404 will render the production error template.
|
189
|
-
not_found do
|
189
|
+
app.not_found do
|
190
190
|
if settings.catch_all_route?
|
191
191
|
view = request.path[1..-1]
|
192
192
|
Tilt.mappings.each do |m|
|
193
193
|
return send(m.first, view.to_sym) if view_exists?("#{view}.#{m.first}")
|
194
194
|
end
|
195
195
|
end
|
196
|
-
erb(:error, layout: false, locals: { code: '404', message: 'Not Found' }) if production?
|
196
|
+
erb(:error, layout: false, locals: { code: '404', message: 'Not Found' }) if settings.production?
|
197
197
|
end
|
198
198
|
|
199
199
|
# Public: Makes production errors prettier by rendering a built in template.
|
200
|
-
configure :production do
|
201
|
-
error(400) { erb :error, layout: false, locals: { code: '400', message: 'Bad Request' } }
|
202
|
-
error(401) { erb :error, layout: false, locals: { code: '401', message: 'Unauthorized' } }
|
203
|
-
error(403) { erb :error, layout: false, locals: { code: '403', message: 'Forbidden' } }
|
204
|
-
error(408) { erb :error, layout: false, locals: { code: '408', message: 'Request Timeout' } }
|
205
|
-
error(500) { erb :error, layout: false, locals: { code: '500', message: 'Internal Server Error' } }
|
206
|
-
error(502) { erb :error, layout: false, locals: { code: '502', message: 'Bad Gateway' } }
|
200
|
+
app.configure :production do
|
201
|
+
app.error(400) { erb :error, layout: false, locals: { code: '400', message: 'Bad Request' } }
|
202
|
+
app.error(401) { erb :error, layout: false, locals: { code: '401', message: 'Unauthorized' } }
|
203
|
+
app.error(403) { erb :error, layout: false, locals: { code: '403', message: 'Forbidden' } }
|
204
|
+
app.error(408) { erb :error, layout: false, locals: { code: '408', message: 'Request Timeout' } }
|
205
|
+
app.error(500) { erb :error, layout: false, locals: { code: '500', message: 'Internal Server Error' } }
|
206
|
+
app.error(502) { erb :error, layout: false, locals: { code: '502', message: 'Bad Gateway' } }
|
207
207
|
end
|
208
208
|
end
|
209
209
|
|
@@ -31,6 +31,7 @@ module Sinatra
|
|
31
31
|
# decimal - Integer number of maximum places after decimal if x is a Number (default: 1)
|
32
32
|
# trailing_zeros - Boolean to decide if a returned Number should keep the
|
33
33
|
# trailing 0's as a String (default: false)
|
34
|
+
# round - Boolean to decide if a number should be rounded (default: true)
|
34
35
|
#
|
35
36
|
# Examples
|
36
37
|
#
|
@@ -50,13 +51,18 @@ module Sinatra
|
|
50
51
|
options[:end_string] ||= '...'
|
51
52
|
options[:decimal] ||= 2
|
52
53
|
options[:trailing_zeros] ||= false
|
54
|
+
options[:round] ||= true
|
53
55
|
|
54
56
|
if x.kind_of? String
|
55
57
|
return if x == nil
|
56
58
|
words = x.split()
|
57
59
|
return words[0..(options[:word_count]-1)].join(' ') + (words.length > options[:word_count] ? options[:end_string] : '')
|
58
60
|
elsif numeric? x
|
59
|
-
|
61
|
+
if options[:round] == true
|
62
|
+
number = "%.#{options[:decimal]}f" % x.round(options[:decimal])
|
63
|
+
else
|
64
|
+
number = "%.#{options[:decimal]}f" % x.to_f
|
65
|
+
end
|
60
66
|
number = number.to_f unless options[:trailing_zeros]
|
61
67
|
return number
|
62
68
|
end
|
@@ -229,7 +235,7 @@ module Sinatra
|
|
229
235
|
def self.registered(app)
|
230
236
|
app.enable :sessions
|
231
237
|
app.set :session_secret, [*('A'..'Z')].sample(40).join if app.session_secret.nil?
|
232
|
-
use Rack::Flash
|
238
|
+
app.use Rack::Flash
|
233
239
|
end
|
234
240
|
|
235
241
|
end
|
@@ -3,5 +3,9 @@
|
|
3
3
|
|
4
4
|
require "#{File.dirname(__FILE__)}/file_manager"
|
5
5
|
|
6
|
+
class Sinatra::Application
|
7
|
+
extend Rake::DSL if defined? Rake::DSL
|
8
|
+
end
|
9
|
+
|
6
10
|
Dir[File.join(File.dirname(__FILE__) + "/../tasks/**/*.rake")].each { |file| import file }
|
7
11
|
Dir["./tasks/**/*.rake"].each { |file| import file }
|
@@ -7,12 +7,12 @@ namespace :assets do
|
|
7
7
|
end
|
8
8
|
Dir.glob("./public/**/*.coffee").each do |asset|
|
9
9
|
File.open(asset.gsub('.coffee', '.js'), 'w') do |f|
|
10
|
-
f.write(CoffeeScript.compile(File.read(asset)))
|
10
|
+
f.write(JSMin.minify(CoffeeScript.compile(File.read(asset))).strip)
|
11
11
|
end
|
12
12
|
end
|
13
13
|
Dir.glob("./public/**/*.scss").each do |asset|
|
14
14
|
File.open(asset.gsub('.scss', '.css'), 'w') do |f|
|
15
|
-
f.write(Sass::Engine.for_file(asset, {}).render)
|
15
|
+
f.write(Sass::Engine.for_file(asset, { style: :compressed }).render)
|
16
16
|
end
|
17
17
|
end
|
18
18
|
settings.assets_path.each do |path|
|
@@ -1,8 +1,8 @@
|
|
1
1
|
source 'https://rubygems.org'
|
2
2
|
|
3
3
|
gem 'coffee-script', '>= 2.2.0'
|
4
|
-
gem '
|
5
|
-
gem 'sass', '>= 3.2.
|
6
|
-
gem 'sinatra', '
|
7
|
-
gem 'sinatra-chassis', '>= 1.0.
|
8
|
-
gem 'sinatra-contrib', '>= 1.
|
4
|
+
gem 'jsmin', '>= 1.0.1'
|
5
|
+
gem 'sass', '>= 3.2.9'
|
6
|
+
gem 'sinatra', '>= 1.4.2'
|
7
|
+
gem 'sinatra-chassis', '>= 1.0.4', require: 'sinatra/chassis'
|
8
|
+
gem 'sinatra-contrib', '>= 1.4.0', require: 'sinatra/contrib'
|
@@ -1,4 +1,12 @@
|
|
1
1
|
Chassis
|
2
2
|
=======
|
3
3
|
|
4
|
-
|
4
|
+
Chassis is based on a standard Sinatra application, and runs the same way:
|
5
|
+
|
6
|
+
~/SampleApp: ruby app.rb
|
7
|
+
|
8
|
+
Your application is now running at [localhost:4567](http://localhost:4567).
|
9
|
+
|
10
|
+
> Use Ctrl-C to stop the local server.
|
11
|
+
|
12
|
+
To learn more: [jarrodtaylor.github.io/sinatra-chassis](http://jarrodtaylor.github.io/sinatra-chassis/)
|
@@ -5,7 +5,6 @@ require 'sinatra/chassis/helpers'
|
|
5
5
|
|
6
6
|
require 'sinatra/reloader' if development?
|
7
7
|
|
8
|
-
enable :sessions
|
9
8
|
set :session_secret, 'secret123'
|
10
9
|
|
11
10
|
require_directory([
|
@@ -20,10 +19,5 @@ require_directory([
|
|
20
19
|
])
|
21
20
|
|
22
21
|
get '/?' do
|
23
|
-
|
24
|
-
File.open('./README.md') do |file|
|
25
|
-
file.each_line { |line| @readme << line }
|
26
|
-
end
|
27
|
-
|
28
|
-
erb :readme, layout: false
|
22
|
+
erb "Hello world!"
|
29
23
|
end
|
data/sinatra-chassis.gemspec
CHANGED
@@ -4,10 +4,10 @@ $:.push File.expand_path('../lib', __FILE__)
|
|
4
4
|
Gem::Specification.new do |s|
|
5
5
|
|
6
6
|
s.name = 'sinatra-chassis'
|
7
|
-
s.version = '1.0.
|
7
|
+
s.version = '1.0.4'
|
8
8
|
s.author = 'Jarrod Taylor'
|
9
9
|
s.email = 'jarrodtaylor@icloud.com'
|
10
|
-
s.homepage = 'http://jarrodtaylor.github.
|
10
|
+
s.homepage = 'http://jarrodtaylor.github.io/sinatra-chassis'
|
11
11
|
s.summary = 'Chassis is a mutable framework extension for Sinatra.'
|
12
12
|
s.description = "Chassis is a mutable framework extension for Sinatra that's designed not just to help you write less code, but to help you focus on less code."
|
13
13
|
s.license = 'MIT'
|
@@ -19,10 +19,10 @@ Gem::Specification.new do |s|
|
|
19
19
|
s.required_ruby_version = ">= 1.9.2"
|
20
20
|
|
21
21
|
s.add_dependency 'coffee-script', '>= 2.2.0'
|
22
|
-
s.add_dependency 'paint', '>= 0.8.
|
22
|
+
s.add_dependency 'paint', '>= 0.8.6'
|
23
23
|
s.add_dependency 'rack-flash3', '>= 1.0.3'
|
24
24
|
s.add_dependency 'rack-test', '>= 0.6.2'
|
25
|
-
s.add_dependency 'sass', '>= 3.2.
|
26
|
-
s.add_dependency 'sinatra', '
|
25
|
+
s.add_dependency 'sass', '>= 3.2.9'
|
26
|
+
s.add_dependency 'sinatra', '>= 1.4.2'
|
27
27
|
|
28
28
|
end
|
metadata
CHANGED
@@ -1,99 +1,112 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sinatra-chassis
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.4
|
5
|
+
prerelease:
|
5
6
|
platform: ruby
|
6
7
|
authors:
|
7
8
|
- Jarrod Taylor
|
8
9
|
autorequire:
|
9
10
|
bindir: bin
|
10
11
|
cert_chain: []
|
11
|
-
date: 2013-
|
12
|
+
date: 2013-06-07 00:00:00.000000000 Z
|
12
13
|
dependencies:
|
13
14
|
- !ruby/object:Gem::Dependency
|
14
15
|
name: coffee-script
|
15
16
|
requirement: !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
16
18
|
requirements:
|
17
|
-
- - '>='
|
19
|
+
- - ! '>='
|
18
20
|
- !ruby/object:Gem::Version
|
19
21
|
version: 2.2.0
|
20
22
|
type: :runtime
|
21
23
|
prerelease: false
|
22
24
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
23
26
|
requirements:
|
24
|
-
- - '>='
|
27
|
+
- - ! '>='
|
25
28
|
- !ruby/object:Gem::Version
|
26
29
|
version: 2.2.0
|
27
30
|
- !ruby/object:Gem::Dependency
|
28
31
|
name: paint
|
29
32
|
requirement: !ruby/object:Gem::Requirement
|
33
|
+
none: false
|
30
34
|
requirements:
|
31
|
-
- - '>='
|
35
|
+
- - ! '>='
|
32
36
|
- !ruby/object:Gem::Version
|
33
|
-
version: 0.8.
|
37
|
+
version: 0.8.6
|
34
38
|
type: :runtime
|
35
39
|
prerelease: false
|
36
40
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
37
42
|
requirements:
|
38
|
-
- - '>='
|
43
|
+
- - ! '>='
|
39
44
|
- !ruby/object:Gem::Version
|
40
|
-
version: 0.8.
|
45
|
+
version: 0.8.6
|
41
46
|
- !ruby/object:Gem::Dependency
|
42
47
|
name: rack-flash3
|
43
48
|
requirement: !ruby/object:Gem::Requirement
|
49
|
+
none: false
|
44
50
|
requirements:
|
45
|
-
- - '>='
|
51
|
+
- - ! '>='
|
46
52
|
- !ruby/object:Gem::Version
|
47
53
|
version: 1.0.3
|
48
54
|
type: :runtime
|
49
55
|
prerelease: false
|
50
56
|
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
51
58
|
requirements:
|
52
|
-
- - '>='
|
59
|
+
- - ! '>='
|
53
60
|
- !ruby/object:Gem::Version
|
54
61
|
version: 1.0.3
|
55
62
|
- !ruby/object:Gem::Dependency
|
56
63
|
name: rack-test
|
57
64
|
requirement: !ruby/object:Gem::Requirement
|
65
|
+
none: false
|
58
66
|
requirements:
|
59
|
-
- - '>='
|
67
|
+
- - ! '>='
|
60
68
|
- !ruby/object:Gem::Version
|
61
69
|
version: 0.6.2
|
62
70
|
type: :runtime
|
63
71
|
prerelease: false
|
64
72
|
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
65
74
|
requirements:
|
66
|
-
- - '>='
|
75
|
+
- - ! '>='
|
67
76
|
- !ruby/object:Gem::Version
|
68
77
|
version: 0.6.2
|
69
78
|
- !ruby/object:Gem::Dependency
|
70
79
|
name: sass
|
71
80
|
requirement: !ruby/object:Gem::Requirement
|
81
|
+
none: false
|
72
82
|
requirements:
|
73
|
-
- - '>='
|
83
|
+
- - ! '>='
|
74
84
|
- !ruby/object:Gem::Version
|
75
|
-
version: 3.2.
|
85
|
+
version: 3.2.9
|
76
86
|
type: :runtime
|
77
87
|
prerelease: false
|
78
88
|
version_requirements: !ruby/object:Gem::Requirement
|
89
|
+
none: false
|
79
90
|
requirements:
|
80
|
-
- - '>='
|
91
|
+
- - ! '>='
|
81
92
|
- !ruby/object:Gem::Version
|
82
|
-
version: 3.2.
|
93
|
+
version: 3.2.9
|
83
94
|
- !ruby/object:Gem::Dependency
|
84
95
|
name: sinatra
|
85
96
|
requirement: !ruby/object:Gem::Requirement
|
97
|
+
none: false
|
86
98
|
requirements:
|
87
|
-
- -
|
99
|
+
- - ! '>='
|
88
100
|
- !ruby/object:Gem::Version
|
89
|
-
version: 1.
|
101
|
+
version: 1.4.2
|
90
102
|
type: :runtime
|
91
103
|
prerelease: false
|
92
104
|
version_requirements: !ruby/object:Gem::Requirement
|
105
|
+
none: false
|
93
106
|
requirements:
|
94
|
-
- -
|
107
|
+
- - ! '>='
|
95
108
|
- !ruby/object:Gem::Version
|
96
|
-
version: 1.
|
109
|
+
version: 1.4.2
|
97
110
|
description: Chassis is a mutable framework extension for Sinatra that's designed
|
98
111
|
not just to help you write less code, but to help you focus on less code.
|
99
112
|
email: jarrodtaylor@icloud.com
|
@@ -127,7 +140,6 @@ files:
|
|
127
140
|
- lib/sinatra/templates/chassis/public/robots.txt
|
128
141
|
- lib/sinatra/templates/chassis/tmp/restart.txt
|
129
142
|
- lib/sinatra/templates/chassis/views/layout.erb
|
130
|
-
- lib/sinatra/templates/chassis/views/readme.erb
|
131
143
|
- lib/sinatra/templates/datamapper/data/migrations/datamapper_migration.rb
|
132
144
|
- lib/sinatra/templates/datamapper/data/seeds/seed.rb
|
133
145
|
- lib/sinatra/templates/datamapper/models/datamapper.rb
|
@@ -138,28 +150,30 @@ files:
|
|
138
150
|
- lib/sinatra/templates/sinatra/tests/routes/routes_tests.rb
|
139
151
|
- lib/sinatra/views/error.erb
|
140
152
|
- sinatra-chassis.gemspec
|
141
|
-
homepage: http://jarrodtaylor.github.
|
153
|
+
homepage: http://jarrodtaylor.github.io/sinatra-chassis
|
142
154
|
licenses:
|
143
155
|
- MIT
|
144
|
-
metadata: {}
|
145
156
|
post_install_message:
|
146
157
|
rdoc_options: []
|
147
158
|
require_paths:
|
148
159
|
- lib
|
149
160
|
required_ruby_version: !ruby/object:Gem::Requirement
|
161
|
+
none: false
|
150
162
|
requirements:
|
151
|
-
- - '>='
|
163
|
+
- - ! '>='
|
152
164
|
- !ruby/object:Gem::Version
|
153
165
|
version: 1.9.2
|
154
166
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
167
|
+
none: false
|
155
168
|
requirements:
|
156
|
-
- - '>='
|
169
|
+
- - ! '>='
|
157
170
|
- !ruby/object:Gem::Version
|
158
171
|
version: '0'
|
159
172
|
requirements: []
|
160
173
|
rubyforge_project:
|
161
|
-
rubygems_version:
|
174
|
+
rubygems_version: 1.8.25
|
162
175
|
signing_key:
|
163
|
-
specification_version:
|
176
|
+
specification_version: 3
|
164
177
|
summary: Chassis is a mutable framework extension for Sinatra.
|
165
178
|
test_files: []
|
179
|
+
has_rdoc:
|
checksums.yaml
DELETED
@@ -1,7 +0,0 @@
|
|
1
|
-
---
|
2
|
-
SHA1:
|
3
|
-
metadata.gz: 1e8adbe9c10890d2ddfa21b0b7dd54230406f675
|
4
|
-
data.tar.gz: 6a8ff260d5e3f6d2e04ca5ce5edcd88abe836010
|
5
|
-
SHA512:
|
6
|
-
metadata.gz: 8d6d3fbea50867a2453c4ac7ec742b2812ae7fe0bd8d5532ca0a96b24052384df9050104326809b08b02726793fa0b1a2e79ad93fae00f41bf3b9351b9adc15a
|
7
|
-
data.tar.gz: d9b1dac706ee2b3f2046b17cff09878354528203387d9a5877d638fdd1c6e4e884633b1af60cd23104c25552973272493e852027fe17a43f5c627178ab359102
|
@@ -1,23 +0,0 @@
|
|
1
|
-
<!DOCTYPE html>
|
2
|
-
<html lang="en">
|
3
|
-
<head>
|
4
|
-
<meta charset="utf-8" />
|
5
|
-
<title>Chassis</title>
|
6
|
-
<style>
|
7
|
-
body {
|
8
|
-
font-family: 'Helvetica Neue', Helvetica, sans-serif;
|
9
|
-
margin: 10% auto;
|
10
|
-
text-align: center;
|
11
|
-
}
|
12
|
-
a, a:visited {
|
13
|
-
color: #27b1f5;
|
14
|
-
}
|
15
|
-
</style>
|
16
|
-
</head>
|
17
|
-
|
18
|
-
<body>
|
19
|
-
|
20
|
-
<%= Kramdown::Document.new(@readme).to_html %>
|
21
|
-
|
22
|
-
</body>
|
23
|
-
</html>
|