sssmoke 1.0.1 → 1.0.2

Sign up to get free protection for your applications and to get access to all the features.
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