sssmoke 1.0.1 → 1.0.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/.travis.yml +11 -0
- data/README.md +3 -1
- data/Rakefile +2 -0
- data/bin/sssmoke +2 -0
- data/lib/sssmoke.rb +13 -11
- data/lib/sssmoke/version.rb +1 -1
- data/sssmoke.gemspec +9 -9
- data/test/test_sssmoke.rb +3 -1
- metadata +9 -8
data/.travis.yml
ADDED
data/README.md
CHANGED
@@ -1,5 +1,7 @@
|
|
1
1
|
# Sssmoke
|
2
2
|
|
3
|
+

|
4
|
+
|
3
5
|
Slap Ruby scripts on a web server in seconds.
|
4
6
|
|
5
7
|
## Installation
|
@@ -19,4 +21,4 @@ A template named `foo.erb` will get the URL `http://localhost:8888/foo`.
|
|
19
21
|
sssmoke directory_name # sssmoke templates from another directory
|
20
22
|
sssmoke template_name.erb # sssmoke a single template at http://localhost:8888/
|
21
23
|
|
22
|
-
That's all. (As to the reason why it's called "Sssmoke"- that story would be better told in person.)
|
24
|
+
That's all. (As to the reason why it's called "Sssmoke" - that story would be better told in person.)
|
data/Rakefile
CHANGED
data/bin/sssmoke
CHANGED
data/lib/sssmoke.rb
CHANGED
@@ -6,20 +6,22 @@ require 'tilt'
|
|
6
6
|
module Sssmoke
|
7
7
|
class Base < Sinatra::Base
|
8
8
|
get '/*' do
|
9
|
-
|
10
|
-
|
9
|
+
begin
|
10
|
+
url_path = params[:splat].first
|
11
|
+
filename = ENV['filename'] || '.'
|
11
12
|
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
13
|
+
if File.directory? filename
|
14
|
+
dir = filename
|
15
|
+
template = "#{dir}/#{url_path.empty? ? "index" : url_path}.erb"
|
16
|
+
return 404 unless File.exist?(template)
|
17
|
+
Tilt.new(template).render
|
18
|
+
else
|
19
|
+
url_path.empty? ? Tilt.new(filename).render : 404
|
20
|
+
end
|
21
|
+
rescue; [500, "500 - Internal server error"]; end
|
20
22
|
end
|
21
23
|
|
22
|
-
configure { set :port => 8888
|
24
|
+
configure { set :port => 8888 }
|
23
25
|
error(404) { [404, "404 - Page not found"] }
|
24
26
|
end
|
25
27
|
end
|
data/lib/sssmoke/version.rb
CHANGED
data/sssmoke.gemspec
CHANGED
@@ -4,18 +4,18 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
4
4
|
require 'sssmoke/version'
|
5
5
|
|
6
6
|
Gem::Specification.new do |gem|
|
7
|
-
gem.name =
|
7
|
+
gem.name = 'sssmoke'
|
8
8
|
gem.version = Sssmoke::VERSION
|
9
|
-
gem.authors = [
|
10
|
-
gem.email = [
|
11
|
-
gem.description =
|
12
|
-
gem.summary =
|
13
|
-
gem.homepage =
|
9
|
+
gem.authors = ['Paolo "Nusco" Perrotta']
|
10
|
+
gem.email = ['paolo.nusco.perrotta@gmail.com']
|
11
|
+
gem.description = 'Slap Ruby scripts on a web server in seconds.'
|
12
|
+
gem.summary = 'Put erb templates in a folder and run them in a server with the "sssmoke" command.'
|
13
|
+
gem.homepage = 'https://github.com/nusco/sssmoke'
|
14
14
|
gem.files = `git ls-files`.split($/)
|
15
15
|
gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
|
16
16
|
gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
|
17
17
|
gem.require_paths = ["lib"]
|
18
|
-
gem.add_development_dependency 'rake'
|
19
|
-
gem.add_development_dependency 'rack-test'
|
20
|
-
gem.add_dependency 'sinatra'
|
18
|
+
gem.add_development_dependency 'rake', '>= 10.0.0'
|
19
|
+
gem.add_development_dependency 'rack-test', '>= 0.6'
|
20
|
+
gem.add_dependency 'sinatra', '>= 1.3'
|
21
21
|
end
|
data/test/test_sssmoke.rb
CHANGED
@@ -12,6 +12,8 @@ class SssmokeTest < Test::Unit::TestCase
|
|
12
12
|
def teardown
|
13
13
|
ENV['filename'] = nil
|
14
14
|
end
|
15
|
+
|
16
|
+
def test_keep_rbx_happy; end # or else it will break under Rubinius
|
15
17
|
end
|
16
18
|
|
17
19
|
class RenderFileTest < SssmokeTest
|
@@ -77,6 +79,6 @@ class SecurityTest < SssmokeTest
|
|
77
79
|
ENV['filename'] = 'test/data/'
|
78
80
|
get '/error'
|
79
81
|
assert_equal 500, last_response.status
|
80
|
-
assert_equal '
|
82
|
+
assert_equal '500 - Internal server error', last_response.body
|
81
83
|
end
|
82
84
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sssmoke
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -18,7 +18,7 @@ dependencies:
|
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
20
20
|
- !ruby/object:Gem::Version
|
21
|
-
version:
|
21
|
+
version: 10.0.0
|
22
22
|
type: :development
|
23
23
|
prerelease: false
|
24
24
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -26,7 +26,7 @@ dependencies:
|
|
26
26
|
requirements:
|
27
27
|
- - ! '>='
|
28
28
|
- !ruby/object:Gem::Version
|
29
|
-
version:
|
29
|
+
version: 10.0.0
|
30
30
|
- !ruby/object:Gem::Dependency
|
31
31
|
name: rack-test
|
32
32
|
requirement: !ruby/object:Gem::Requirement
|
@@ -34,7 +34,7 @@ dependencies:
|
|
34
34
|
requirements:
|
35
35
|
- - ! '>='
|
36
36
|
- !ruby/object:Gem::Version
|
37
|
-
version: '0'
|
37
|
+
version: '0.6'
|
38
38
|
type: :development
|
39
39
|
prerelease: false
|
40
40
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -42,7 +42,7 @@ dependencies:
|
|
42
42
|
requirements:
|
43
43
|
- - ! '>='
|
44
44
|
- !ruby/object:Gem::Version
|
45
|
-
version: '0'
|
45
|
+
version: '0.6'
|
46
46
|
- !ruby/object:Gem::Dependency
|
47
47
|
name: sinatra
|
48
48
|
requirement: !ruby/object:Gem::Requirement
|
@@ -50,7 +50,7 @@ dependencies:
|
|
50
50
|
requirements:
|
51
51
|
- - ! '>='
|
52
52
|
- !ruby/object:Gem::Version
|
53
|
-
version: '
|
53
|
+
version: '1.3'
|
54
54
|
type: :runtime
|
55
55
|
prerelease: false
|
56
56
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -58,7 +58,7 @@ dependencies:
|
|
58
58
|
requirements:
|
59
59
|
- - ! '>='
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: '
|
61
|
+
version: '1.3'
|
62
62
|
description: Slap Ruby scripts on a web server in seconds.
|
63
63
|
email:
|
64
64
|
- paolo.nusco.perrotta@gmail.com
|
@@ -68,6 +68,7 @@ extensions: []
|
|
68
68
|
extra_rdoc_files: []
|
69
69
|
files:
|
70
70
|
- .gitignore
|
71
|
+
- .travis.yml
|
71
72
|
- Gemfile
|
72
73
|
- LICENSE.txt
|
73
74
|
- README.md
|
@@ -104,7 +105,7 @@ rubyforge_project:
|
|
104
105
|
rubygems_version: 1.8.24
|
105
106
|
signing_key:
|
106
107
|
specification_version: 3
|
107
|
-
summary: Put erb templates in a folder and run them in a server with the
|
108
|
+
summary: Put erb templates in a folder and run them in a server with the "sssmoke"
|
108
109
|
command.
|
109
110
|
test_files:
|
110
111
|
- test/data/error.erb
|