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 ADDED
@@ -0,0 +1,11 @@
1
+ rvm:
2
+ - 1.9.3
3
+ - 1.9.2
4
+ - jruby-18mode
5
+ - jruby-19mode
6
+ - rbx-18mode
7
+ # - rbx-19mode # apparently breaking because of some quirk in the current rbx?
8
+ - ruby-head
9
+ - jruby-head
10
+ - 1.8.7
11
+ - ree
data/README.md CHANGED
@@ -1,5 +1,7 @@
1
1
  # Sssmoke
2
2
 
3
+ ![Build Status](https://secure.travis-ci.org/nusco/sssmoke.png)
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
@@ -2,3 +2,5 @@ require "bundler/gem_tasks"
2
2
  require "rake/testtask"
3
3
 
4
4
  Rake::TestTask.new {|t| t.test_files = FileList['test/test*.rb'] }
5
+
6
+ task :default => :test
data/bin/sssmoke CHANGED
@@ -1,4 +1,6 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
+ ENV['filename'] = ARGV[0] if ARGV[0]
4
+
3
5
  require 'sssmoke'
4
6
  Sssmoke::Base.run!
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
- url_path = params[:splat].first
10
- filename = ENV['filename'] || '.'
9
+ begin
10
+ url_path = params[:splat].first
11
+ filename = ENV['filename'] || '.'
11
12
 
12
- if File.directory? filename
13
- dir = filename
14
- template = "#{dir}/#{url_path.empty? ? "index" : url_path}.erb"
15
- return 404 unless File.exist?(template)
16
- Tilt.new(template).render
17
- else
18
- url_path.empty? ? Tilt.new(filename).render : 404
19
- end
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, :show_exceptions => false }
24
+ configure { set :port => 8888 }
23
25
  error(404) { [404, "404 - Page not found"] }
24
26
  end
25
27
  end
@@ -1,3 +1,3 @@
1
1
  module Sssmoke
2
- VERSION = "1.0.1"
2
+ VERSION = "1.0.2"
3
3
  end
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 = "sssmoke"
7
+ gem.name = 'sssmoke'
8
8
  gem.version = Sssmoke::VERSION
9
- gem.authors = ["Paolo \"Nusco\" Perrotta"]
10
- gem.email = ["paolo.nusco.perrotta@gmail.com"]
11
- gem.description = %q{Slap Ruby scripts on a web server in seconds.}
12
- gem.summary = %q{Put erb templates in a folder and run them in a server with the 'sssmoke' command.}
13
- gem.homepage = "https://github.com/nusco/sssmoke"
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 '<h1>Internal Server Error</h1>', last_response.body
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.1
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: '0'
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: '0'
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: '0'
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: '0'
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 'sssmoke'
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