turbo 0.0.1
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/.gitignore +17 -0
- data/Gemfile +4 -0
- data/MIT-LICENSE +20 -0
- data/README.md +58 -0
- data/Rakefile +2 -0
- data/bin/turbo +6 -0
- data/lib/turbo.rb +21 -0
- data/lib/turbo/application.rb +34 -0
- data/lib/turbo/generator.rb +133 -0
- data/lib/turbo/templates/dummy/database.yml +3 -0
- data/lib/turbo/templates/dummy/routes.rb +3 -0
- data/lib/turbo/templates/dummy/schema.rb +3 -0
- data/lib/turbo/templates/gitignore +21 -0
- data/lib/turbo/templates/root/%underscored%.gemspec.tt +30 -0
- data/lib/turbo/templates/root/Gemfile.tt +16 -0
- data/lib/turbo/templates/root/MIT-LICENSE.tt +20 -0
- data/lib/turbo/templates/root/README.md.tt +23 -0
- data/lib/turbo/templates/root/Rakefile.tt +36 -0
- data/lib/turbo/templates/root/config.ru.tt +7 -0
- data/lib/turbo/templates/root/lib/%underscored%.rb.tt +5 -0
- data/lib/turbo/templates/root/lib/%underscored%/engine.rb.tt +5 -0
- data/lib/turbo/templates/root/lib/%underscored%/version.rb.tt +3 -0
- data/lib/turbo/templates/spec/%underscored%_spec.rb.tt +7 -0
- data/lib/turbo/templates/spec/integration/navigation_spec.rb.tt +9 -0
- data/lib/turbo/templates/spec/spec_helper.rb.tt +33 -0
- data/lib/turbo/templates/spec/support/sample.rb.tt +1 -0
- data/lib/turbo/templates/test/%underscored%_test.rb.tt +7 -0
- data/lib/turbo/templates/test/integration/navigation_test.rb.tt +7 -0
- data/lib/turbo/templates/test/support/integration_case.rb.tt +5 -0
- data/lib/turbo/templates/test/test_helper.rb.tt +25 -0
- data/lib/turbo/version.rb +8 -0
- data/turbo.gemspec +22 -0
- metadata +144 -0
data/.gitignore
ADDED
data/Gemfile
ADDED
data/MIT-LICENSE
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
Copyright 2011 Steven Hancock (stevenh512@gmail.com)
|
2
|
+
|
3
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
4
|
+
a copy of this software and associated documentation files (the
|
5
|
+
"Software"), to deal in the Software without restriction, including
|
6
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
7
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
8
|
+
permit persons to whom the Software is furnished to do so, subject to
|
9
|
+
the following conditions:
|
10
|
+
|
11
|
+
The above copyright notice and this permission notice shall be
|
12
|
+
included in all copies or substantial portions of the Software.
|
13
|
+
|
14
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
15
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
16
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
17
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
18
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
19
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
20
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/README.md
ADDED
@@ -0,0 +1,58 @@
|
|
1
|
+
# Turbo
|
2
|
+
|
3
|
+
**WARNING: At this point, this is entirely untested and may contain tons of
|
4
|
+
bugs. Consider this alpha code at best, use it if it works for you but don't
|
5
|
+
say I didn't warn you.** :)
|
6
|
+
|
7
|
+
Rails Engine generator inspired by [EngineX], [Combustion] and [Bundler]'s Gem
|
8
|
+
generator. I've tried to take the best of both generators, combined with an
|
9
|
+
embedded dummy app for testing similar to [Combustion]'s.
|
10
|
+
|
11
|
+
Generated Engines should be compatible with Rails 3.0 or 3.1, but again it's
|
12
|
+
untested.
|
13
|
+
|
14
|
+
## Installation
|
15
|
+
|
16
|
+
Install the turbo gem in the usual ways:
|
17
|
+
|
18
|
+
Rubygems:
|
19
|
+
gem install turbo
|
20
|
+
|
21
|
+
Github:
|
22
|
+
git clone git://github.com/stevenh512/turbo.git
|
23
|
+
cd turbo
|
24
|
+
bundle install
|
25
|
+
rake install
|
26
|
+
|
27
|
+
Bundler:
|
28
|
+
gem 'turbo' #, :git => git://github.com/stevenh512/turbo.git
|
29
|
+
|
30
|
+
## Usage
|
31
|
+
|
32
|
+
Generate a ready-to-run Rails 3 engine.
|
33
|
+
|
34
|
+
$ turbo engine_name [--test-framework=TEST_FRAMEWORK]
|
35
|
+
|
36
|
+
`TEST_FRAMEWORK` is optional and can be either `rspec` or `test_unit`. It
|
37
|
+
defaults to `test_unit`.
|
38
|
+
|
39
|
+
If you installed with Bundler you may need to use `bundle exec`.
|
40
|
+
|
41
|
+
## Note on tests
|
42
|
+
|
43
|
+
I haven't written any tests for this code, honestly I don't know how I'd test
|
44
|
+
most of it. If you figure it out and would like to contribute any tests, feel
|
45
|
+
free, I'd appreciate it. I prefer RSpec but I can work with Test::Unit too. :)
|
46
|
+
|
47
|
+
## Note on Patches/Pull Requests
|
48
|
+
|
49
|
+
* Fork the project.
|
50
|
+
* Make your feature addition or bug fix.
|
51
|
+
* Commit, do not mess with Rakefile, version, or history. (if you want to have
|
52
|
+
your own version, that is fine but bump version in a commit by itself I can
|
53
|
+
ignore when I pull)
|
54
|
+
* Send me a pull request. Bonus points for topic branches.
|
55
|
+
|
56
|
+
## Copyright
|
57
|
+
|
58
|
+
Copyright (c) <%= Date.today.year %> <%= author %>. See MIT-LICENSE for details.
|
data/Rakefile
ADDED
data/bin/turbo
ADDED
data/lib/turbo.rb
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
require 'rails'
|
2
|
+
require 'active_support/dependencies'
|
3
|
+
require 'turbo/version'
|
4
|
+
|
5
|
+
module Turbo
|
6
|
+
autoload :Application, 'turbo/application'
|
7
|
+
Modules = %w( active_record action_controller action_view action_mailer )
|
8
|
+
|
9
|
+
def self.initialize!(*modules)
|
10
|
+
Modules << 'sprockets' if Rails.version.to_f >= 3.1
|
11
|
+
modules = Modules if modules.empty? || modules == [:all]
|
12
|
+
modules.each { |mod| require "#{mod}/railtie" }
|
13
|
+
|
14
|
+
Turbo::Application.configure_for_turbo
|
15
|
+
Turbo::Application.initialize!
|
16
|
+
|
17
|
+
silence_stream(STDOUT) do
|
18
|
+
load "#{Rails.root}/db/schema.rb"
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,34 @@
|
|
1
|
+
Rails.env = 'test'
|
2
|
+
|
3
|
+
class Turbo::Application < Rails::Application
|
4
|
+
config.root = File.expand_path File.join(Dir.pwd, defined?(RSpec) ? 'spec' : 'test', 'internal')
|
5
|
+
|
6
|
+
# Core Settings
|
7
|
+
config.cache_classes = true
|
8
|
+
config.whiny_nils = true
|
9
|
+
config.consider_all_requests_local = true
|
10
|
+
config.secret_token = Digest::SHA1.hexdigest Time.now.to_s
|
11
|
+
|
12
|
+
# ActiveSupport Settings
|
13
|
+
config.active_support.deprecation = :stderr
|
14
|
+
|
15
|
+
# Some settings we're not sure if we want, so let's not laod them by default.
|
16
|
+
# Instead, wait for this method to be invoked (to get around load-order
|
17
|
+
# complications).
|
18
|
+
def self.configure_for_turbo
|
19
|
+
if defined?(ActionController) && defined?(ActionController::Engine)
|
20
|
+
config.action_dispatch.show_exceptions = false
|
21
|
+
config.action_controller.perform_caching = false
|
22
|
+
config.action_controller.allow_forgery_protection = false
|
23
|
+
end
|
24
|
+
|
25
|
+
if defined?(ActionMailer) && defined?(ActionMailer::Engine)
|
26
|
+
config.action_mailer.delivery_method = :test
|
27
|
+
config.action_mailer.default_url_options = { :host => 'www.example.com' }
|
28
|
+
end
|
29
|
+
|
30
|
+
if defined?(Sprockets)
|
31
|
+
config.assets.enabled = true
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
@@ -0,0 +1,133 @@
|
|
1
|
+
require "turbo/version"
|
2
|
+
require "thor/group"
|
3
|
+
require "active_support"
|
4
|
+
require "active_support/version"
|
5
|
+
require "active_support/core_ext/string"
|
6
|
+
|
7
|
+
module Turbo
|
8
|
+
class Generator < Thor::Group
|
9
|
+
include Thor::Actions
|
10
|
+
check_unknown_options!
|
11
|
+
|
12
|
+
def self.source_root
|
13
|
+
@_source_root ||= File.expand_path('../templates', __FILE__)
|
14
|
+
end
|
15
|
+
|
16
|
+
def self.say_step(message)
|
17
|
+
@step = (@step || 0) + 1
|
18
|
+
class_eval <<-METHOD, __FILE__, __LINE__ + 1
|
19
|
+
def step_#{@step}
|
20
|
+
#{"puts" if @step > 1}
|
21
|
+
say_status "STEP #{@step}", #{message.inspect}
|
22
|
+
end
|
23
|
+
METHOD
|
24
|
+
end
|
25
|
+
|
26
|
+
argument :path, :type => :string,
|
27
|
+
:desc => "Path of the engine to be created"
|
28
|
+
|
29
|
+
class_option :test_framework, :default => "test_unit", :aliases => "-t",
|
30
|
+
:desc => "Test framework to use, test_unit or rspec."
|
31
|
+
|
32
|
+
desc "Creates a Rails 3 engine with Rakefile, Gemfile and running tests."
|
33
|
+
|
34
|
+
say_step "Creating gem skeleton"
|
35
|
+
|
36
|
+
def create_root
|
37
|
+
self.destination_root = File.expand_path(path, destination_root)
|
38
|
+
set_accessors!
|
39
|
+
|
40
|
+
directory "root", "."
|
41
|
+
FileUtils.cd(destination_root)
|
42
|
+
end
|
43
|
+
|
44
|
+
def create_gitignore
|
45
|
+
template "gitignore", ".gitignore"
|
46
|
+
end
|
47
|
+
|
48
|
+
def create_tests_or_specs
|
49
|
+
directory test_path
|
50
|
+
empty_directory dummy_path
|
51
|
+
empty_directory File.join(dummy_path, 'config')
|
52
|
+
empty_directory File.join(dummy_path, 'db')
|
53
|
+
empty_directory File.join(dummy_path, 'log')
|
54
|
+
empty_directory File.join(dummy_path, 'public')
|
55
|
+
template 'dummy/routes.rb', File.join(dummy_path, 'config', 'routes.rb')
|
56
|
+
template 'dummy/database.yml', File.join(dummy_path, 'config', 'database.yml')
|
57
|
+
template 'dummy/schema.rb', File.join(dummy_path, 'db', 'schema.rb')
|
58
|
+
create_file File.join(dummy_path, 'public', 'favicon.ico')
|
59
|
+
create_file File.join(dummy_path, 'log', '.gitignore') do
|
60
|
+
'*.log'
|
61
|
+
end
|
62
|
+
end
|
63
|
+
|
64
|
+
def initialize_git_repo
|
65
|
+
run 'git init'
|
66
|
+
run 'git add .'
|
67
|
+
run 'git commit -am "initial commit"'
|
68
|
+
end
|
69
|
+
|
70
|
+
protected
|
71
|
+
def rspec?
|
72
|
+
@_rspec ||= options[:test_framework] == "rspec"
|
73
|
+
end
|
74
|
+
|
75
|
+
def test_unit?
|
76
|
+
@_test_unit ||= options[:test_framework] == "test_unit"
|
77
|
+
end
|
78
|
+
|
79
|
+
def test_path
|
80
|
+
@_test_path ||= rspec? ? "spec" : "test"
|
81
|
+
end
|
82
|
+
|
83
|
+
def dummy_path
|
84
|
+
@_dummy_path ||= File.join(test_path, 'internal')
|
85
|
+
end
|
86
|
+
|
87
|
+
def self.banner
|
88
|
+
self_task.formatted_usage(self, false)
|
89
|
+
end
|
90
|
+
|
91
|
+
def application_definition
|
92
|
+
@application_definition ||= begin
|
93
|
+
contents = File.read(File.expand_path("#{dummy_path}/config/application.rb", destination_root))
|
94
|
+
contents[(contents.index("module Dummy"))..-1]
|
95
|
+
end
|
96
|
+
end
|
97
|
+
alias :store_application_definition! :application_definition
|
98
|
+
|
99
|
+
# Cache accessors since we are changing the directory
|
100
|
+
def set_accessors!
|
101
|
+
self.name
|
102
|
+
self.class.source_root
|
103
|
+
end
|
104
|
+
|
105
|
+
def name
|
106
|
+
@name ||= File.basename(destination_root)
|
107
|
+
end
|
108
|
+
|
109
|
+
def camelized
|
110
|
+
@camelized ||= name.camelize
|
111
|
+
end
|
112
|
+
|
113
|
+
def underscored
|
114
|
+
@underscored ||= name.underscore
|
115
|
+
end
|
116
|
+
|
117
|
+
def git_user_name
|
118
|
+
@git_user_name ||= `git config user.name`.chomp
|
119
|
+
end
|
120
|
+
|
121
|
+
def git_user_email
|
122
|
+
@git_user_email ||= `git config user.email`.chomp
|
123
|
+
end
|
124
|
+
|
125
|
+
def author
|
126
|
+
@author ||= git_user_name.empty? ? "TODO: Write your name" : git_user_name
|
127
|
+
end
|
128
|
+
|
129
|
+
def email
|
130
|
+
@email ||= git_user_email.empty? ? "TODO: Write your email address" : git_user_email
|
131
|
+
end
|
132
|
+
end
|
133
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
*.gem
|
2
|
+
*.rbc
|
3
|
+
.bundle
|
4
|
+
.config
|
5
|
+
.yardoc
|
6
|
+
_yardoc
|
7
|
+
coverage
|
8
|
+
doc/
|
9
|
+
Gemfile.lock
|
10
|
+
InstalledFiles
|
11
|
+
lib/bundler/man
|
12
|
+
log/*.log
|
13
|
+
pkg
|
14
|
+
rdoc
|
15
|
+
spec/reports
|
16
|
+
test/tmp
|
17
|
+
test/version_tmp
|
18
|
+
tmp
|
19
|
+
<%= dummy_path %>/db/*.sqlite3
|
20
|
+
<%= dummy_path %>/log/*.log
|
21
|
+
<%= dummy_path %>/tmp/
|
@@ -0,0 +1,30 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
require File.expand_path('../lib/<%= underscored %>/version', __FILE__)
|
3
|
+
|
4
|
+
Gem::Specification.new do |gem|
|
5
|
+
gem.name = "<%= underscored %>"
|
6
|
+
gem.version = <%= camelized %>::VERSION
|
7
|
+
gem.authors = ["<%= author %>"]
|
8
|
+
gem.email = ["<%= email %>"]
|
9
|
+
gem.homepage = "TODO: Write homepage url"
|
10
|
+
gem.summary = "TODO: Write a gem summary"
|
11
|
+
gem.description = "TODO: Write a gem description"
|
12
|
+
|
13
|
+
gem.files = `git ls-files`.split("\n")
|
14
|
+
gem.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
15
|
+
gem.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
16
|
+
gem.require_paths = ["lib"]
|
17
|
+
|
18
|
+
gem.add_runtime_dependency "railties", "~> <%= Turbo::RAILS_VERSION %>"
|
19
|
+
gem.add_runtime_dependency "thor", "~> 0.14.0"
|
20
|
+
|
21
|
+
gem.add_development_dependency "turbo", "~> <%= Turbo::VERSION %>"
|
22
|
+
gem.add_development_dependency "rdoc", "~> 3.9.4"
|
23
|
+
gem.add_development_dependency "rails", "~> <%= Turbo::RAILS_VERSION %>"
|
24
|
+
gem.add_development_dependency "sqlite3"
|
25
|
+
gem.add_development_dependency "jquery-rails"
|
26
|
+
gem.add_development_dependency "capybara", "~> <%= Turbo::CAPYBARA_VERSION %>"
|
27
|
+
<%- if rspec? -%>
|
28
|
+
gem.add_development_dependency "rspec-rails", "~> <%= Turbo::RSPEC_VERSION %>"
|
29
|
+
<%- end -%>
|
30
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
source "http://rubygems.org"
|
2
|
+
|
3
|
+
gemspec
|
4
|
+
|
5
|
+
# Load Turbo from git
|
6
|
+
# gem 'turbo', :git => 'git://github.com/stevenh512/turbo.git'
|
7
|
+
|
8
|
+
# Load ruby-debug for your platform
|
9
|
+
# gem 'ruby-debug', :require => 'ruby-debug', :platform => :mri_18
|
10
|
+
# gem 'ruby-debug19', :require => 'ruby-debug', :platform => :mri_19
|
11
|
+
<%- if test_unit? -%>
|
12
|
+
|
13
|
+
# Load ANSI and Turn for better looking Test::Unit reports.
|
14
|
+
# gem 'ansi', '~> <%= Turbo::ANSI_VERSION %>'
|
15
|
+
# gem 'turn', '~> <%= Turbo::TURN_VERSION %>'
|
16
|
+
<%- end -%>
|
@@ -0,0 +1,20 @@
|
|
1
|
+
Copyright <%= Date.today.year %> <%= author %> (<%= email %>)
|
2
|
+
|
3
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
4
|
+
a copy of this software and associated documentation files (the
|
5
|
+
"Software"), to deal in the Software without restriction, including
|
6
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
7
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
8
|
+
permit persons to whom the Software is furnished to do so, subject to
|
9
|
+
the following conditions:
|
10
|
+
|
11
|
+
The above copyright notice and this permission notice shall be
|
12
|
+
included in all copies or substantial portions of the Software.
|
13
|
+
|
14
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
15
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
16
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
17
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
18
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
19
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
20
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
@@ -0,0 +1,23 @@
|
|
1
|
+
# <%= camelized %>
|
2
|
+
|
3
|
+
TODO: Describe your gem
|
4
|
+
|
5
|
+
## Installation
|
6
|
+
|
7
|
+
Gemfile:
|
8
|
+
gem '<%= underscored %>'
|
9
|
+
|
10
|
+
## Note on Patches/Pull Requests
|
11
|
+
|
12
|
+
* Fork the project.
|
13
|
+
* Make your feature addition or bug fix.
|
14
|
+
* Add tests for it. This is important so I don't break it in a future version
|
15
|
+
unintentionally.
|
16
|
+
* Commit, do not mess with Rakefile, version, or history. (if you want to have
|
17
|
+
your own version, that is fine but bump version in a commit by itself I can
|
18
|
+
ignore when I pull)
|
19
|
+
* Send me a pull request. Bonus points for topic branches.
|
20
|
+
|
21
|
+
## Copyright
|
22
|
+
|
23
|
+
Copyright (c) <%= Date.today.year %> <%= author %>. See MIT-LICENSE for details.
|
@@ -0,0 +1,36 @@
|
|
1
|
+
# encoding: UTF-8
|
2
|
+
require 'rubygems'
|
3
|
+
begin
|
4
|
+
require 'bundler/setup'
|
5
|
+
rescue LoadError
|
6
|
+
puts 'You must `gem install bundler` and `bundle install` to run rake tasks'
|
7
|
+
end
|
8
|
+
|
9
|
+
require 'rake'
|
10
|
+
require 'rdoc/task'
|
11
|
+
|
12
|
+
<% if rspec? -%>
|
13
|
+
require 'rspec/core'
|
14
|
+
require 'rspec/core/rake_task'
|
15
|
+
|
16
|
+
RSpec::Core::RakeTask.new(:spec)
|
17
|
+
<% else -%>
|
18
|
+
require 'rake/testtask'
|
19
|
+
|
20
|
+
Rake::TestTask.new(:test) do |t|
|
21
|
+
t.libs << 'lib'
|
22
|
+
t.libs << 'test'
|
23
|
+
t.pattern = 'test/**/*_test.rb'
|
24
|
+
t.verbose = false
|
25
|
+
end
|
26
|
+
<% end -%>
|
27
|
+
|
28
|
+
task :default => :<%= test_path %>
|
29
|
+
|
30
|
+
Rake::RDocTask.new(:rdoc) do |rdoc|
|
31
|
+
rdoc.rdoc_dir = 'rdoc'
|
32
|
+
rdoc.title = '<%= camelized %>'
|
33
|
+
rdoc.options << '--line-numbers' << '--inline-source'
|
34
|
+
rdoc.rdoc_files.include('README.rdoc')
|
35
|
+
rdoc.rdoc_files.include('lib/**/*.rb')
|
36
|
+
end
|
@@ -0,0 +1,33 @@
|
|
1
|
+
# Configure Rails environment
|
2
|
+
ENV["RAILS_ENV"] = "test"
|
3
|
+
|
4
|
+
require 'rubygems'
|
5
|
+
require 'bundler'
|
6
|
+
|
7
|
+
Bundler.require :default, :development
|
8
|
+
|
9
|
+
require 'turbo'
|
10
|
+
require 'capybara/rspec'
|
11
|
+
|
12
|
+
Turbo.initialize!
|
13
|
+
|
14
|
+
require 'rails/test_help'
|
15
|
+
require 'rspec/rails'
|
16
|
+
|
17
|
+
ActionMailer::Base.delivery_method = :test
|
18
|
+
ActionMailer::Base.perform_deliveries = true
|
19
|
+
Rails.backtrace_cleaner.remove_silencers!
|
20
|
+
|
21
|
+
require 'capybara/rails'
|
22
|
+
Capybara.default_driver = :rack_test
|
23
|
+
Capybara.default_selector = :css
|
24
|
+
|
25
|
+
# Load support files
|
26
|
+
Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each { |f| require f }
|
27
|
+
|
28
|
+
RSpec.configure do |config|
|
29
|
+
require 'rspec/expectations'
|
30
|
+
config.include Rspec::Matchers
|
31
|
+
config.mock_with :rspec
|
32
|
+
config.use_transactional_fixtures = true
|
33
|
+
end
|
@@ -0,0 +1 @@
|
|
1
|
+
# Anything in spec/support will be loaded automatically by spec_helper.rb
|
@@ -0,0 +1,25 @@
|
|
1
|
+
# Load Turn if it's available
|
2
|
+
begin; require 'turn'; rescue LoadError; end
|
3
|
+
|
4
|
+
# Configure Rails environment
|
5
|
+
ENV["RAILS_ENV"] = "test"
|
6
|
+
|
7
|
+
require 'rubygems'
|
8
|
+
require 'bundler'
|
9
|
+
|
10
|
+
Bundler.require :default, :development
|
11
|
+
require 'turbo'
|
12
|
+
|
13
|
+
Turbo.initialize!
|
14
|
+
|
15
|
+
ActionMailer::Base.delivery_method = :test
|
16
|
+
ActionMailer::Base.perform_deliveries = true
|
17
|
+
Rails.backtrace_cleaner.remove_silencers!
|
18
|
+
|
19
|
+
# Configure capybara for integration testing
|
20
|
+
require "capybara/rails"
|
21
|
+
Capybara.default_driver = :rack_test
|
22
|
+
Capybara.default_selector = :css
|
23
|
+
|
24
|
+
# Load support files
|
25
|
+
Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each { |f| require f }
|
data/turbo.gemspec
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
require File.expand_path('../lib/turbo/version', __FILE__)
|
3
|
+
|
4
|
+
Gem::Specification.new do |gem|
|
5
|
+
gem.name = "turbo"
|
6
|
+
gem.version = Turbo::VERSION
|
7
|
+
gem.authors = ["Steven Hancock"]
|
8
|
+
gem.email = ["stevenh512@gmail.com"]
|
9
|
+
gem.homepage = "https://github.com/stevenh512/turbo"
|
10
|
+
gem.summary = "Turbocharged Rails Engine Generator"
|
11
|
+
gem.description = "Generate Rails Engines with a minimal embedded dummy app for testing, compatible with Test::Unit and RSpec."
|
12
|
+
|
13
|
+
gem.files = `git ls-files`.split("\n")
|
14
|
+
gem.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
15
|
+
gem.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
16
|
+
gem.require_paths = ["lib"]
|
17
|
+
|
18
|
+
gem.add_runtime_dependency "railties", "~> #{Turbo::RAILS_VERSION}"
|
19
|
+
gem.add_runtime_dependency "thor", "~> 0.14.0"
|
20
|
+
|
21
|
+
gem.add_development_dependency "rails", "~> #{Turbo::RAILS_VERSION}"
|
22
|
+
end
|
metadata
ADDED
@@ -0,0 +1,144 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: turbo
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
hash: 29
|
5
|
+
prerelease:
|
6
|
+
segments:
|
7
|
+
- 0
|
8
|
+
- 0
|
9
|
+
- 1
|
10
|
+
version: 0.0.1
|
11
|
+
platform: ruby
|
12
|
+
authors:
|
13
|
+
- Steven Hancock
|
14
|
+
autorequire:
|
15
|
+
bindir: bin
|
16
|
+
cert_chain: []
|
17
|
+
|
18
|
+
date: 2011-10-04 00:00:00 -07:00
|
19
|
+
default_executable:
|
20
|
+
dependencies:
|
21
|
+
- !ruby/object:Gem::Dependency
|
22
|
+
name: railties
|
23
|
+
prerelease: false
|
24
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ~>
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
hash: 7
|
30
|
+
segments:
|
31
|
+
- 3
|
32
|
+
- 0
|
33
|
+
version: "3.0"
|
34
|
+
type: :runtime
|
35
|
+
version_requirements: *id001
|
36
|
+
- !ruby/object:Gem::Dependency
|
37
|
+
name: thor
|
38
|
+
prerelease: false
|
39
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
40
|
+
none: false
|
41
|
+
requirements:
|
42
|
+
- - ~>
|
43
|
+
- !ruby/object:Gem::Version
|
44
|
+
hash: 39
|
45
|
+
segments:
|
46
|
+
- 0
|
47
|
+
- 14
|
48
|
+
- 0
|
49
|
+
version: 0.14.0
|
50
|
+
type: :runtime
|
51
|
+
version_requirements: *id002
|
52
|
+
- !ruby/object:Gem::Dependency
|
53
|
+
name: rails
|
54
|
+
prerelease: false
|
55
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
56
|
+
none: false
|
57
|
+
requirements:
|
58
|
+
- - ~>
|
59
|
+
- !ruby/object:Gem::Version
|
60
|
+
hash: 7
|
61
|
+
segments:
|
62
|
+
- 3
|
63
|
+
- 0
|
64
|
+
version: "3.0"
|
65
|
+
type: :development
|
66
|
+
version_requirements: *id003
|
67
|
+
description: Generate Rails Engines with a minimal embedded dummy app for testing, compatible with Test::Unit and RSpec.
|
68
|
+
email:
|
69
|
+
- stevenh512@gmail.com
|
70
|
+
executables:
|
71
|
+
- turbo
|
72
|
+
extensions: []
|
73
|
+
|
74
|
+
extra_rdoc_files: []
|
75
|
+
|
76
|
+
files:
|
77
|
+
- .gitignore
|
78
|
+
- Gemfile
|
79
|
+
- MIT-LICENSE
|
80
|
+
- README.md
|
81
|
+
- Rakefile
|
82
|
+
- bin/turbo
|
83
|
+
- lib/turbo.rb
|
84
|
+
- lib/turbo/application.rb
|
85
|
+
- lib/turbo/generator.rb
|
86
|
+
- lib/turbo/templates/dummy/database.yml
|
87
|
+
- lib/turbo/templates/dummy/routes.rb
|
88
|
+
- lib/turbo/templates/dummy/schema.rb
|
89
|
+
- lib/turbo/templates/gitignore
|
90
|
+
- lib/turbo/templates/root/%underscored%.gemspec.tt
|
91
|
+
- lib/turbo/templates/root/Gemfile.tt
|
92
|
+
- lib/turbo/templates/root/MIT-LICENSE.tt
|
93
|
+
- lib/turbo/templates/root/README.md.tt
|
94
|
+
- lib/turbo/templates/root/Rakefile.tt
|
95
|
+
- lib/turbo/templates/root/config.ru.tt
|
96
|
+
- lib/turbo/templates/root/lib/%underscored%.rb.tt
|
97
|
+
- lib/turbo/templates/root/lib/%underscored%/engine.rb.tt
|
98
|
+
- lib/turbo/templates/root/lib/%underscored%/version.rb.tt
|
99
|
+
- lib/turbo/templates/spec/%underscored%_spec.rb.tt
|
100
|
+
- lib/turbo/templates/spec/integration/navigation_spec.rb.tt
|
101
|
+
- lib/turbo/templates/spec/spec_helper.rb.tt
|
102
|
+
- lib/turbo/templates/spec/support/sample.rb.tt
|
103
|
+
- lib/turbo/templates/test/%underscored%_test.rb.tt
|
104
|
+
- lib/turbo/templates/test/integration/navigation_test.rb.tt
|
105
|
+
- lib/turbo/templates/test/support/integration_case.rb.tt
|
106
|
+
- lib/turbo/templates/test/test_helper.rb.tt
|
107
|
+
- lib/turbo/version.rb
|
108
|
+
- turbo.gemspec
|
109
|
+
has_rdoc: true
|
110
|
+
homepage: https://github.com/stevenh512/turbo
|
111
|
+
licenses: []
|
112
|
+
|
113
|
+
post_install_message:
|
114
|
+
rdoc_options: []
|
115
|
+
|
116
|
+
require_paths:
|
117
|
+
- lib
|
118
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
119
|
+
none: false
|
120
|
+
requirements:
|
121
|
+
- - ">="
|
122
|
+
- !ruby/object:Gem::Version
|
123
|
+
hash: 3
|
124
|
+
segments:
|
125
|
+
- 0
|
126
|
+
version: "0"
|
127
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
128
|
+
none: false
|
129
|
+
requirements:
|
130
|
+
- - ">="
|
131
|
+
- !ruby/object:Gem::Version
|
132
|
+
hash: 3
|
133
|
+
segments:
|
134
|
+
- 0
|
135
|
+
version: "0"
|
136
|
+
requirements: []
|
137
|
+
|
138
|
+
rubyforge_project:
|
139
|
+
rubygems_version: 1.5.2
|
140
|
+
signing_key:
|
141
|
+
specification_version: 3
|
142
|
+
summary: Turbocharged Rails Engine Generator
|
143
|
+
test_files: []
|
144
|
+
|