sinatra_bootstrap 0.1.0 → 0.2.0
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/README.md +2 -0
- data/lib/sinatra_bootstrap/stage.rb +22 -2
- data/spec/stage_spec.rb +22 -0
- metadata +12 -12
data/README.md
CHANGED
@@ -27,6 +27,8 @@ hold your application.
|
|
27
27
|
The `rackup` variant will also generate a `config.ru` file suitable for
|
28
28
|
deploying your application on a Rack-based server.
|
29
29
|
|
30
|
+
The optional `pow` variant may be added to generate a `tmp/always_restart.txt` to configure pow.cx to restart the server after each request.
|
31
|
+
|
30
32
|
### Heroku
|
31
33
|
|
32
34
|
take_the_stage heroku
|
@@ -9,10 +9,18 @@ module SinatraBootstrap
|
|
9
9
|
end
|
10
10
|
|
11
11
|
desc 'sinatra', 'Installs Gemfile and main.rb'
|
12
|
-
method_option :
|
12
|
+
method_option :pow,
|
13
|
+
:type => :boolean,
|
14
|
+
:default => false,
|
15
|
+
:desc => 'Create a tmp/always_restart.txt for pow'
|
16
|
+
method_option :rackup,
|
17
|
+
:type => :boolean,
|
18
|
+
:default => false,
|
19
|
+
:desc => 'Create a config.ru file'
|
13
20
|
def sinatra
|
14
21
|
copy_file 'Gemfile-bare', 'Gemfile'
|
15
22
|
copy_file 'config.ru' if options[:rackup]
|
23
|
+
always_restart if options[:pow]
|
16
24
|
copy_file 'main.rb'
|
17
25
|
say 'Simple startup:'
|
18
26
|
say ' bundle install'
|
@@ -20,15 +28,27 @@ module SinatraBootstrap
|
|
20
28
|
end
|
21
29
|
|
22
30
|
desc 'heroku', 'Install base files for running Sinatra on Heroku'
|
31
|
+
method_option :pow,
|
32
|
+
:type => :boolean,
|
33
|
+
:default => false,
|
34
|
+
:desc => 'Create a tmp/always_restart.txt for pow'
|
23
35
|
def heroku
|
24
36
|
copy_file 'Gemfile-heroku', 'Gemfile'
|
25
37
|
copy_file 'config.ru'
|
26
38
|
copy_file 'Procfile'
|
27
39
|
copy_file 'main.rb'
|
40
|
+
always_restart if options[:pow]
|
28
41
|
say 'Simple development startup:'
|
29
42
|
say ' bundle install'
|
30
43
|
say ' foreman start'
|
31
44
|
end
|
32
|
-
end
|
33
45
|
|
46
|
+
no_tasks do
|
47
|
+
def always_restart
|
48
|
+
Dir::mkdir("tmp") unless File.exists?("tmp")
|
49
|
+
FileUtils.touch File.join 'tmp', 'always_restart.txt'
|
50
|
+
end
|
51
|
+
end
|
52
|
+
|
53
|
+
end
|
34
54
|
end
|
data/spec/stage_spec.rb
CHANGED
@@ -66,6 +66,17 @@ describe SinatraBootstrap::Stage do
|
|
66
66
|
end
|
67
67
|
end
|
68
68
|
end
|
69
|
+
|
70
|
+
context "with --pow" do
|
71
|
+
let(:sinatra) { described_class .start ['sinatra', '--pow'] }
|
72
|
+
|
73
|
+
it "creates tmp/always_restart.txt" do
|
74
|
+
in_tmpdir do
|
75
|
+
capture(:stdout) { sinatra }
|
76
|
+
File.exists?('tmp/always_restart.txt').should be_true
|
77
|
+
end
|
78
|
+
end
|
79
|
+
end
|
69
80
|
end
|
70
81
|
|
71
82
|
describe "#heroku" do
|
@@ -117,5 +128,16 @@ describe SinatraBootstrap::Stage do
|
|
117
128
|
File.exists?('Procfile').should be_true
|
118
129
|
end
|
119
130
|
end
|
131
|
+
|
132
|
+
context "with --pow" do
|
133
|
+
let(:sinatra) { described_class .start ['heroku', '--pow'] }
|
134
|
+
|
135
|
+
it "creates tmp/always_restart.txt" do
|
136
|
+
in_tmpdir do
|
137
|
+
capture(:stdout) { sinatra }
|
138
|
+
File.exists?('tmp/always_restart.txt').should be_true
|
139
|
+
end
|
140
|
+
end
|
141
|
+
end
|
120
142
|
end
|
121
143
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sinatra_bootstrap
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-
|
12
|
+
date: 2012-11-21 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: thor
|
16
|
-
requirement: &
|
16
|
+
requirement: &70265417658000 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ~>
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: '0.14'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70265417658000
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: rake
|
27
|
-
requirement: &
|
27
|
+
requirement: &70265417657400 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ~>
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: '0.9'
|
33
33
|
type: :development
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *70265417657400
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: rspec
|
38
|
-
requirement: &
|
38
|
+
requirement: &70265417656800 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ~>
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: '2.9'
|
44
44
|
type: :development
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *70265417656800
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: simplecov
|
49
|
-
requirement: &
|
49
|
+
requirement: &70265417656220 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ~>
|
@@ -54,10 +54,10 @@ dependencies:
|
|
54
54
|
version: '0.6'
|
55
55
|
type: :development
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *70265417656220
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: bundler
|
60
|
-
requirement: &
|
60
|
+
requirement: &70265417655660 !ruby/object:Gem::Requirement
|
61
61
|
none: false
|
62
62
|
requirements:
|
63
63
|
- - ~>
|
@@ -65,7 +65,7 @@ dependencies:
|
|
65
65
|
version: '1.0'
|
66
66
|
type: :development
|
67
67
|
prerelease: false
|
68
|
-
version_requirements: *
|
68
|
+
version_requirements: *70265417655660
|
69
69
|
description: Quick Sinatra app setup
|
70
70
|
email: ryan@coshx.com
|
71
71
|
executables:
|