sinatra-gen 0.1.0 → 0.1.1
Sign up to get free protection for your applications and to get access to all the features.
- data/History.txt +7 -0
- data/Manifest.txt +5 -1
- data/README.rdoc +11 -9
- data/Rakefile +2 -2
- data/app_generators/sinatra_app/sinatra_app_generator.rb +14 -5
- data/app_generators/sinatra_app/templates/Capfile +3 -0
- data/app_generators/sinatra_app/templates/config/deploy.rb.erb +13 -0
- data/app_generators/sinatra_app/templates/config.yml +1 -0
- data/bin/sinatra-gen +1 -1
- data/lib/sinatra-gen.rb +1 -1
- data/sinatra-gen.gemspec +44 -0
- data/test/test_sinatra_app_generator.rb +11 -0
- metadata +7 -3
data/History.txt
CHANGED
data/Manifest.txt
CHANGED
@@ -5,9 +5,12 @@ README.rdoc
|
|
5
5
|
Rakefile
|
6
6
|
app_generators/sinatra_app/USAGE
|
7
7
|
app_generators/sinatra_app/sinatra_app_generator.rb
|
8
|
+
app_generators/sinatra_app/templates/Capfile
|
8
9
|
app_generators/sinatra_app/templates/Rakefile.erb
|
9
10
|
app_generators/sinatra_app/templates/app.rb.erb
|
10
11
|
app_generators/sinatra_app/templates/config.ru.erb
|
12
|
+
app_generators/sinatra_app/templates/config.yml
|
13
|
+
app_generators/sinatra_app/templates/config/deploy.rb.erb
|
11
14
|
app_generators/sinatra_app/templates/lib/module.rb.erb
|
12
15
|
app_generators/sinatra_app/templates/test/test_app_rspec.rb.erb
|
13
16
|
app_generators/sinatra_app/templates/test/test_app_shoulda.rb.erb
|
@@ -20,4 +23,5 @@ app_generators/sinatra_app/templates/views/erb_layout.erb
|
|
20
23
|
app_generators/sinatra_app/templates/views/haml_index.erb
|
21
24
|
app_generators/sinatra_app/templates/views/haml_layout.erb
|
22
25
|
bin/sinatra-gen
|
23
|
-
lib/sinatra-gen.rb
|
26
|
+
lib/sinatra-gen.rb
|
27
|
+
sinatra-gen.gemspec
|
data/README.rdoc
CHANGED
@@ -18,18 +18,20 @@ Run:
|
|
18
18
|
|
19
19
|
e.g.
|
20
20
|
|
21
|
-
sinatra-gen mysinatrapp --vendor
|
21
|
+
sinatra-gen mysinatrapp --vendor --init --test=shoulda --views=haml
|
22
22
|
|
23
23
|
Options (can also be obtained by running sinatra-gen with no arguments):
|
24
24
|
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
25
|
+
-v, --version Show the sinatra-gen version number and quit.
|
26
|
+
-d, --vendor Extract the latest sinatra to vendor/sinatra
|
27
|
+
--tiny Only create the minimal files.
|
28
|
+
--init Initialize a git repository
|
29
|
+
--cap Adds config directory with basic capistrano deploy.rb
|
30
|
+
--scripts Install the rubigen scripts (script/generate, script/destroy)
|
31
|
+
--git /path/to/git Specify a different path for 'git'
|
32
|
+
--test=test_framework Specify your testing framework (unit (default)/rspec/spec/shoulda)
|
33
|
+
--views=view_framework Specify your view framework (erb (default)/haml/builder)
|
34
|
+
|
33
35
|
|
34
36
|
The --tiny option will create no directories. Just an app.rb, a Rakefile, and a config.ru (Rackup file)
|
35
37
|
|
data/Rakefile
CHANGED
@@ -6,8 +6,8 @@ require File.dirname(__FILE__) + '/lib/sinatra-gen'
|
|
6
6
|
$hoe = Hoe.new('sinatra-gen', SinatraGen::VERSION) do |p|
|
7
7
|
p.developer('Aaron Quint', 'aaron@quirkey.com')
|
8
8
|
p.changes = p.paragraphs_of("History.txt", 0..1).join("\n\n")
|
9
|
-
p.post_install_message = 'PostInstall.txt'
|
10
|
-
p.rubyforge_name =
|
9
|
+
p.post_install_message = 'PostInstall.txt' # TODO remove if post-install message not required
|
10
|
+
p.rubyforge_name = 'quirkey'
|
11
11
|
p.extra_deps = [
|
12
12
|
['rubigen','>= 1.3.3'],
|
13
13
|
]
|
@@ -5,7 +5,7 @@ class SinatraAppGenerator < RubiGen::Base
|
|
5
5
|
|
6
6
|
default_options :author => nil
|
7
7
|
|
8
|
-
attr_accessor :app_name, :vendor, :tiny, :git, :git_init, :test_framework, :view_framework, :install_scripts
|
8
|
+
attr_accessor :app_name, :vendor, :tiny, :git, :git_init, :test_framework, :view_framework, :install_scripts, :cap
|
9
9
|
|
10
10
|
def initialize(runtime_args, runtime_options = {})
|
11
11
|
super
|
@@ -18,7 +18,7 @@ class SinatraAppGenerator < RubiGen::Base
|
|
18
18
|
def manifest
|
19
19
|
record do |m|
|
20
20
|
# Ensure appropriate folder(s) exists
|
21
|
-
m.directory ''
|
21
|
+
m.directory ''
|
22
22
|
|
23
23
|
if git_init
|
24
24
|
`cd #{@destination_root} && #{git} init`
|
@@ -30,6 +30,7 @@ class SinatraAppGenerator < RubiGen::Base
|
|
30
30
|
|
31
31
|
unless tiny
|
32
32
|
BASEDIRS.each { |path| m.directory path }
|
33
|
+
m.file 'config.yml', 'config.yml'
|
33
34
|
m.template 'lib/module.rb.erb', "lib/#{app_name}.rb"
|
34
35
|
m.template 'test/test_helper.rb.erb', 'test/test_helper.rb'
|
35
36
|
m.template "test/test_app_#{test_framework}.rb.erb", "test/test_#{app_name}.rb"
|
@@ -47,6 +48,12 @@ class SinatraAppGenerator < RubiGen::Base
|
|
47
48
|
`#{command}`
|
48
49
|
end
|
49
50
|
|
51
|
+
if cap
|
52
|
+
m.directory 'config'
|
53
|
+
m.file 'Capfile', 'Capfile'
|
54
|
+
m.template 'config/deploy.rb.erb', 'config/deploy.rb'
|
55
|
+
end
|
56
|
+
|
50
57
|
if install_scripts
|
51
58
|
m.dependency "install_rubigen_scripts", [destination_root, 'sinatra-gen'], :shebang => options[:shebang], :collision => :force
|
52
59
|
end
|
@@ -68,9 +75,10 @@ EOS
|
|
68
75
|
|
69
76
|
opts.on("-v", "--version", "Show the #{File.basename($0)} version number and quit.")
|
70
77
|
opts.on("-d", "--vendor", "Extract the latest sinatra to vendor/sinatra") {|o| options[:vendor] = o }
|
71
|
-
opts.on("
|
72
|
-
opts.on("
|
73
|
-
opts.on("
|
78
|
+
opts.on("--tiny", "Only create the minimal files.") {|o| options[:tiny] = o }
|
79
|
+
opts.on("--init", "Initialize a git repository") {|o| options[:init] = o }
|
80
|
+
opts.on("--cap", "Adds config directory with basic capistrano deploy.rb") {|o| options[:cap] = o }
|
81
|
+
opts.on("--scripts", "Install the rubigen scripts (script/generate, script/destroy)") {|o| options[:scripts] = o }
|
74
82
|
opts.on("--git /path/to/git", "Specify a different path for 'git'") {|o| options[:git] = o }
|
75
83
|
opts.on("--test=test_framework", String, "Specify your testing framework (unit (default)/rspec/spec/shoulda)") {|o| options[:test_framework] = o }
|
76
84
|
opts.on("--views=view_framework", "Specify your view framework (erb (default)/haml/builder)") {|o| options[:view_framework] = o }
|
@@ -82,6 +90,7 @@ EOS
|
|
82
90
|
# raw instance variable value.
|
83
91
|
self.vendor = options[:vendor]
|
84
92
|
self.tiny = options[:tiny]
|
93
|
+
self.cap = options[:cap]
|
85
94
|
self.git = options[:git] || `which git`.strip
|
86
95
|
self.git_init = options[:init]
|
87
96
|
self.test_framework = options[:test_framework] || 'unit'
|
@@ -0,0 +1,13 @@
|
|
1
|
+
set :application, "<%= app_name %>"
|
2
|
+
set :deploy_via, :remote_cache
|
3
|
+
set :user, 'SERVER_USER_NAME'
|
4
|
+
set :runner, user
|
5
|
+
|
6
|
+
set :scm, :git
|
7
|
+
set :repository, "git@github.com:GITHUB_USER_NAME/#{application}.git"
|
8
|
+
set :branch, 'master'
|
9
|
+
set :git_enable_submodules, 1
|
10
|
+
set :keep_releases, 3
|
11
|
+
set :deploy_to, "/var/www/apps/#{application}"
|
12
|
+
|
13
|
+
server "YOUR_DOMAIN", :web, :app, :db, :primary => true
|
@@ -0,0 +1 @@
|
|
1
|
+
---
|
data/bin/sinatra-gen
CHANGED
data/lib/sinatra-gen.rb
CHANGED
data/sinatra-gen.gemspec
ADDED
@@ -0,0 +1,44 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
|
3
|
+
Gem::Specification.new do |s|
|
4
|
+
s.name = %q{sinatra-gen}
|
5
|
+
s.version = "0.1.1"
|
6
|
+
|
7
|
+
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
8
|
+
s.authors = ["Aaron Quint"]
|
9
|
+
s.date = %q{2008-12-16}
|
10
|
+
s.default_executable = %q{sinatra-gen}
|
11
|
+
s.description = %q{sinatra-gen generates a common file structure and basic app files for a web app utilizing the sinatra framework. For more information on sinatra, check out http://sinatra.rubyforge.org}
|
12
|
+
s.email = ["aaron@quirkey.com"]
|
13
|
+
s.executables = ["sinatra-gen"]
|
14
|
+
s.extra_rdoc_files = ["History.txt", "Manifest.txt", "PostInstall.txt", "README.rdoc"]
|
15
|
+
s.files = ["History.txt", "Manifest.txt", "PostInstall.txt", "README.rdoc", "Rakefile", "app_generators/sinatra_app/USAGE", "app_generators/sinatra_app/sinatra_app_generator.rb", "app_generators/sinatra_app/templates/Capfile", "app_generators/sinatra_app/templates/Rakefile.erb", "app_generators/sinatra_app/templates/app.rb.erb", "app_generators/sinatra_app/templates/config.ru.erb", "app_generators/sinatra_app/templates/config.yml", "app_generators/sinatra_app/templates/config/deploy.rb.erb", "app_generators/sinatra_app/templates/lib/module.rb.erb", "app_generators/sinatra_app/templates/test/test_app_rspec.rb.erb", "app_generators/sinatra_app/templates/test/test_app_shoulda.rb.erb", "app_generators/sinatra_app/templates/test/test_app_spec.rb.erb", "app_generators/sinatra_app/templates/test/test_app_unit.rb.erb", "app_generators/sinatra_app/templates/test/test_helper.rb.erb", "app_generators/sinatra_app/templates/views/builder_index.erb", "app_generators/sinatra_app/templates/views/erb_index.erb", "app_generators/sinatra_app/templates/views/erb_layout.erb", "app_generators/sinatra_app/templates/views/haml_index.erb", "app_generators/sinatra_app/templates/views/haml_layout.erb", "bin/sinatra-gen", "lib/sinatra-gen.rb", "sinatra-gen.gemspec", "test/test_generator_helper.rb", "test/test_helper.rb", "test/test_sinatra_app_generator.rb"]
|
16
|
+
s.has_rdoc = true
|
17
|
+
s.homepage = %q{http://github.com/quirkey/sinatra-gen}
|
18
|
+
s.post_install_message = %q{PostInstall.txt}
|
19
|
+
s.rdoc_options = ["--main", "README.rdoc"]
|
20
|
+
s.require_paths = ["lib"]
|
21
|
+
s.rubyforge_project = %q{sinatra-gen}
|
22
|
+
s.rubygems_version = %q{1.3.1}
|
23
|
+
s.summary = %q{sinatra-gen generates a common file structure and basic app files for a web app utilizing the sinatra framework}
|
24
|
+
s.test_files = ["test/test_generator_helper.rb", "test/test_helper.rb", "test/test_sinatra_app_generator.rb"]
|
25
|
+
|
26
|
+
if s.respond_to? :specification_version then
|
27
|
+
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
28
|
+
s.specification_version = 2
|
29
|
+
|
30
|
+
if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
|
31
|
+
s.add_runtime_dependency(%q<rubigen>, [">= 1.3.3"])
|
32
|
+
s.add_development_dependency(%q<newgem>, [">= 1.2.1"])
|
33
|
+
s.add_development_dependency(%q<hoe>, [">= 1.8.0"])
|
34
|
+
else
|
35
|
+
s.add_dependency(%q<rubigen>, [">= 1.3.3"])
|
36
|
+
s.add_dependency(%q<newgem>, [">= 1.2.1"])
|
37
|
+
s.add_dependency(%q<hoe>, [">= 1.8.0"])
|
38
|
+
end
|
39
|
+
else
|
40
|
+
s.add_dependency(%q<rubigen>, [">= 1.3.3"])
|
41
|
+
s.add_dependency(%q<newgem>, [">= 1.2.1"])
|
42
|
+
s.add_dependency(%q<hoe>, [">= 1.8.0"])
|
43
|
+
end
|
44
|
+
end
|
@@ -54,6 +54,16 @@ class TestSinatraAppGenerator < Test::Unit::TestCase
|
|
54
54
|
assert_directory_exists '.git'
|
55
55
|
end
|
56
56
|
|
57
|
+
def test_generate_app_with_cap_option
|
58
|
+
run_generator('sinatra_app', [APP_ROOT, '--cap'], sources)
|
59
|
+
assert_basic_paths_and_files
|
60
|
+
assert_directory_exists 'config'
|
61
|
+
assert_generated_file 'Capfile'
|
62
|
+
assert_generated_file 'config/deploy.rb' do |deploy_contents|
|
63
|
+
assert_match(/set \:application, "#{app_name}"/, deploy_contents)
|
64
|
+
end
|
65
|
+
end
|
66
|
+
|
57
67
|
def test_generate_app_with_rspect_test_option
|
58
68
|
run_generator('sinatra_app', [APP_ROOT, '--test=rspec'], sources)
|
59
69
|
assert_basic_paths_and_files
|
@@ -145,6 +155,7 @@ class TestSinatraAppGenerator < Test::Unit::TestCase
|
|
145
155
|
assert_generated_file 'config.ru'
|
146
156
|
assert_generated_file 'app.rb'
|
147
157
|
assert_generated_file 'Rakefile'
|
158
|
+
assert_generated_file 'config.yml'
|
148
159
|
assert_generated_module "lib/#{app_name}"
|
149
160
|
end
|
150
161
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sinatra-gen
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Aaron Quint
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2008-12-
|
12
|
+
date: 2008-12-18 00:00:00 -05:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -30,7 +30,7 @@ dependencies:
|
|
30
30
|
requirements:
|
31
31
|
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 1.1
|
33
|
+
version: 1.2.1
|
34
34
|
version:
|
35
35
|
- !ruby/object:Gem::Dependency
|
36
36
|
name: hoe
|
@@ -62,9 +62,12 @@ files:
|
|
62
62
|
- Rakefile
|
63
63
|
- app_generators/sinatra_app/USAGE
|
64
64
|
- app_generators/sinatra_app/sinatra_app_generator.rb
|
65
|
+
- app_generators/sinatra_app/templates/Capfile
|
65
66
|
- app_generators/sinatra_app/templates/Rakefile.erb
|
66
67
|
- app_generators/sinatra_app/templates/app.rb.erb
|
67
68
|
- app_generators/sinatra_app/templates/config.ru.erb
|
69
|
+
- app_generators/sinatra_app/templates/config.yml
|
70
|
+
- app_generators/sinatra_app/templates/config/deploy.rb.erb
|
68
71
|
- app_generators/sinatra_app/templates/lib/module.rb.erb
|
69
72
|
- app_generators/sinatra_app/templates/test/test_app_rspec.rb.erb
|
70
73
|
- app_generators/sinatra_app/templates/test/test_app_shoulda.rb.erb
|
@@ -78,6 +81,7 @@ files:
|
|
78
81
|
- app_generators/sinatra_app/templates/views/haml_layout.erb
|
79
82
|
- bin/sinatra-gen
|
80
83
|
- lib/sinatra-gen.rb
|
84
|
+
- sinatra-gen.gemspec
|
81
85
|
has_rdoc: true
|
82
86
|
homepage: http://github.com/quirkey/sinatra-gen
|
83
87
|
post_install_message: PostInstall.txt
|