tsrails 2.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (40) hide show
  1. data/LICENSE +674 -0
  2. data/README.md +137 -0
  3. data/Rakefile +83 -0
  4. data/bin/tsrails +34 -0
  5. data/lib/constants.rb +29 -0
  6. data/lib/create.rb +68 -0
  7. data/lib/errors.rb +12 -0
  8. data/lib/helpers.rb +93 -0
  9. data/template/files/Gem.gemfile +56 -0
  10. data/template/files/Guardfile +36 -0
  11. data/template/files/Termfile +37 -0
  12. data/template/files/_flashes.html.haml +3 -0
  13. data/template/files/_footer.html.haml +8 -0
  14. data/template/files/_javascript.html.haml +1 -0
  15. data/template/files/_sidebar.html.haml +3 -0
  16. data/template/files/_sign_in_out.html.haml +4 -0
  17. data/template/files/apache_config.conf +18 -0
  18. data/template/files/app_config.yml +11 -0
  19. data/template/files/application.html.haml +21 -0
  20. data/template/files/application_helper.rb +6 -0
  21. data/template/files/backtrace_silencers.rb +10 -0
  22. data/template/files/clearance.rb +7 -0
  23. data/template/files/cucumber.yml +8 -0
  24. data/template/files/debug_steps.rb +18 -0
  25. data/template/files/env.rb +58 -0
  26. data/template/files/factory_girl_steps.rb +1 -0
  27. data/template/files/haml_options.rb +3 -0
  28. data/template/files/jquery.rb +12 -0
  29. data/template/files/mailer_macros.rb +11 -0
  30. data/template/files/mongrel_cluster.yml +7 -0
  31. data/template/files/noisy_attr_accessible.rb +5 -0
  32. data/template/files/prefilled_input.js +59 -0
  33. data/template/files/rcov.opts +2 -0
  34. data/template/files/requires.rb +7 -0
  35. data/template/files/spec.opts +4 -0
  36. data/template/files/spec_helper.rb +37 -0
  37. data/template/files/tiny_mce.yml +16 -0
  38. data/template/tsrails_3_2.rb +233 -0
  39. data/tsrails.gemspec +72 -0
  40. metadata +110 -0
@@ -0,0 +1,10 @@
1
+ SHOULDA_NOISE = %w( shoulda )
2
+ FACTORY_GIRL_NOISE = %w( factory_girl )
3
+ THOUGHTBOT_NOISE = SHOULDA_NOISE + FACTORY_GIRL_NOISE
4
+
5
+ #Rails.backtrace_cleaner.add_silencer do |line|
6
+ # THOUGHTBOT_NOISE.any? { |dir| line.include?(dir) }
7
+ #end
8
+
9
+ # When debugging, uncomment the next line.
10
+ # Rails.backtrace_cleaner.remove_silencers!
@@ -0,0 +1,7 @@
1
+ #
2
+ # Clearance configuration
3
+ #
4
+
5
+ Clearance.configure do |config|
6
+ config.mailer_sender = 'donotreply@example.com'
7
+ end
@@ -0,0 +1,8 @@
1
+ <%
2
+ rerun = File.file?('rerun.txt') ? IO.read('rerun.txt') : ""
3
+ rerun_opts = rerun.to_s.strip.empty? ? "--format #{ENV['CUCUMBER_FORMAT'] || 'progress'} features" : "--format #{ENV['CUCUMBER_FORMAT'] || 'pretty'} #{rerun}"
4
+ std_opts = "--format #{ENV['CUCUMBER_FORMAT'] || 'progress'} --strict --tags ~@wip"
5
+ %>
6
+ default: <%= std_opts %> features
7
+ wip: --tags @wip:3 --wip features
8
+ rerun: <%= rerun_opts %> --format rerun --out rerun.txt --strict --tags ~@wip
@@ -0,0 +1,18 @@
1
+ #
2
+ When 'I save and open the page' do
3
+ save_and_open_page
4
+ end
5
+
6
+ Then /^show me the sent emails?$/ do
7
+ pretty_emails = ActionMailer::Base.deliveries.map do |mail|
8
+ <<-OUT
9
+ To: #{mail.to.inspect}
10
+ From: #{mail.from.inspect}
11
+ Subject: #{mail.subject}
12
+ Body:
13
+ #{mail.body}
14
+ .
15
+ OUT
16
+ end
17
+ puts pretty_emails.join("\n")
18
+ end
@@ -0,0 +1,58 @@
1
+ # IMPORTANT: This file is generated by cucumber-rails - edit at your own peril.
2
+ # It is recommended to regenerate this file in the future when you upgrade to a
3
+ # newer version of cucumber-rails. Consider adding your own code to a new file
4
+ # instead of editing this one. Cucumber will automatically load all features/**/*.rb
5
+ # files.
6
+
7
+ ENV["RAILS_ENV"] ||= "test"
8
+ require File.expand_path(File.dirname(__FILE__) + '/../../config/environment')
9
+
10
+ require 'cucumber/formatter/unicode' # Remove this line if you don't want Cucumber Unicode support
11
+ require 'cucumber/rails/rspec'
12
+ require 'cucumber/rails/world'
13
+ require 'cucumber/rails/active_record'
14
+ require 'cucumber/web/tableish'
15
+
16
+ require 'capybara/rails'
17
+ require 'capybara/cucumber'
18
+ require 'capybara/session'
19
+
20
+ # Capybara defaults to XPath selectors rather than Webrat's default of CSS3. In
21
+ # order to ease the transition to Capybara we set the default here. If you'd
22
+ # prefer to use XPath just remove this line and adjust any selectors in your
23
+ # steps to use the XPath syntax.
24
+ Capybara.default_selector = :css
25
+
26
+ # If you set this to false, any error raised from within your app will bubble
27
+ # up to your step definition and out to cucumber unless you catch it somewhere
28
+ # on the way. You can make Rails rescue errors and render error pages on a
29
+ # per-scenario basis by tagging a scenario or feature with the @allow-rescue tag.
30
+ #
31
+ # If you set this to true, Rails will rescue all errors and render error
32
+ # pages, more or less in the same way your application would behave in the
33
+ # default production environment. It's not recommended to do this for all
34
+ # of your scenarios, as this makes it hard to discover errors in your application.
35
+ ActionController::Base.allow_rescue = false
36
+
37
+ # If you set this to true, each scenario will run in a database transaction.
38
+ # You can still turn off transactions on a per-scenario basis, simply tagging
39
+ # a feature or scenario with the @no-txn tag. If you are using Capybara,
40
+ # tagging with @culerity or @javascript will also turn transactions off.
41
+ #
42
+ # If you set this to false, transactions will be off for all scenarios,
43
+ # regardless of whether you use @no-txn or not.
44
+ #
45
+ # Beware that turning transactions off will leave data in your database
46
+ # after each scenario, which can lead to hard-to-debug failures in
47
+ # subsequent scenarios. If you do this, we recommend you create a Before
48
+ # block that will explicitly put your database in a known state.
49
+ Cucumber::Rails::World.use_transactional_fixtures = true
50
+ # How to clean your database when transactions are turned off. See
51
+ # http://github.com/bmabey/database_cleaner for more info.
52
+ if defined?(ActiveRecord::Base)
53
+ begin
54
+ require 'database_cleaner'
55
+ DatabaseCleaner.strategy = :truncation
56
+ rescue LoadError => ignore_if_database_cleaner_not_present
57
+ end
58
+ end
@@ -0,0 +1 @@
1
+ require 'factory_girl/step_definitions'
@@ -0,0 +1,3 @@
1
+ #Haml::Template.options[:format] = :html5
2
+ #Haml::Template.options[:autoclose] = ['meta', 'img', 'link', 'br', 'hr', 'input', 'area', 'param', 'col', 'base']
3
+ #Haml::Template.options[:encoding] = "utf-8"
@@ -0,0 +1,12 @@
1
+ # Switch the javascript_include_tag :defaults to
2
+ # use jQuery instead of the default prototype helpers.
3
+ # Also setup a :jquery expansion, just for good measure.
4
+ # Written by: Logan Leger, logan@loganleger.com
5
+ # http://github.com/lleger/Rails-3-jQuery
6
+
7
+ ActionView::Helpers::AssetTagHelper.register_javascript_expansion :jquery => ['jquery', 'rails', 'prefilled_input']
8
+ ActiveSupport.on_load(:action_view) do
9
+ ActiveSupport.on_load(:after_initialize) do
10
+ ActionView::Helpers::AssetTagHelper::register_javascript_expansion :defaults => ['jquery', 'rails', 'prefilled_input']
11
+ end
12
+ end
@@ -0,0 +1,11 @@
1
+ module MailerMacros
2
+
3
+ def last_email
4
+ ActionMailer::Base.deliveries.last
5
+ end
6
+
7
+ def reset_emails
8
+ ActionMailer::Base.deliveries = []
9
+ end
10
+
11
+ end
@@ -0,0 +1,7 @@
1
+ ---
2
+ # cwd: /home/CHANGEME/apps/CHANGEME/current
3
+ # port: "3030"
4
+ environment: production
5
+ address: 127.0.0.1
6
+ pid_file: log/mongrel.pid
7
+ servers: 3
@@ -0,0 +1,5 @@
1
+ ActiveRecord::Base.class_eval do
2
+ def log_protected_attribute_removal(*attributes)
3
+ raise "Can't mass-assign these protected attributes: #{attributes.join(', ')}"
4
+ end
5
+ end
@@ -0,0 +1,59 @@
1
+ // clear inputs with starter values
2
+ new function($) {
3
+ $.fn.prefilledInput = function() {
4
+
5
+ var focus = function () {
6
+ $(this).removeClass('prefilled');
7
+ if (this.value == this.prefilledValue) {
8
+ this.value = '';
9
+ }
10
+ };
11
+
12
+ var blur = function () {
13
+ if (this.value == '') {
14
+ $(this).addClass('prefilled').val(this.prefilledValue);
15
+ } else if (this.value != this.prefilledValue) {
16
+ $(this).removeClass('prefilled');
17
+ }
18
+ };
19
+
20
+ var extractPrefilledValue = function () {
21
+ if (this.title) {
22
+ this.prefilledValue = this.title;
23
+ this.title = '';
24
+ } else if (this.id) {
25
+ this.prefilledValue = $('label[for=' + this.id + ']').hide().text();
26
+ }
27
+ if (this.prefilledValue) {
28
+ this.prefilledValue = this.prefilledValue.replace(/\*$/, '');
29
+ }
30
+ };
31
+
32
+ var initialize = function (index) {
33
+ if (!this.prefilledValue) {
34
+ this.extractPrefilledValue = extractPrefilledValue;
35
+ this.extractPrefilledValue();
36
+ $(this).trigger('blur');
37
+ }
38
+ };
39
+
40
+ return this.filter(":input").
41
+ focus(focus).
42
+ blur(blur).
43
+ each(initialize);
44
+ };
45
+
46
+ var clearPrefilledInputs = function () {
47
+ var form = this.form || this;
48
+ $(form).find("input.prefilled, textarea.prefilled").val("");
49
+ };
50
+
51
+ var prefilledSetup = function () {
52
+ $('input.prefilled, textarea.prefilled').prefilledInput();
53
+ $('form').submit(clearPrefilledInputs);
54
+ $('input:submit, button:submit').click(clearPrefilledInputs);
55
+ };
56
+
57
+ $(document).ready(prefilledSetup);
58
+ $(document).ajaxComplete(prefilledSetup);
59
+ }(jQuery);
@@ -0,0 +1,2 @@
1
+ --exclude "spec/*,gems/*"
2
+ --rails
@@ -0,0 +1,7 @@
1
+ Dir[File.join(::Rails.root.to_s, 'lib', 'extensions', '*.rb')].each do |f|
2
+ require f
3
+ end
4
+
5
+ Dir[File.join(::Rails.root.to_s, 'lib', '*.rb')].each do |f|
6
+ require f
7
+ end
@@ -0,0 +1,4 @@
1
+ --colour
2
+ --format progress
3
+ --loadby mtime
4
+ --reverse
@@ -0,0 +1,37 @@
1
+ require 'simplecov'
2
+ SimpleCov.start 'rails'
3
+
4
+ require 'rubygems'
5
+ require 'spork'
6
+
7
+ Spork.prefork do
8
+ ENV["RAILS_ENV"] ||= 'test'
9
+ require File.expand_path("../../config/environment", __FILE__)
10
+
11
+ require 'rspec/rails'
12
+ require 'rspec/autorun'
13
+ require 'capybara/rspec'
14
+ require 'draper/rspec_integration'
15
+
16
+ Dir[Rails.root.join("spec/support/**/*.rb")].each {|f| require f}
17
+
18
+ RSpec.configure do |config|
19
+ config.mock_with :rspec
20
+ config.use_transactional_fixtures = true
21
+
22
+ config.treat_symbols_as_metadata_keys_with_true_values = true
23
+ config.filter_run :focus => true
24
+ config.run_all_when_everything_filtered = true
25
+
26
+ config.include(MailerMacros)
27
+
28
+ config.before(:each) do
29
+ reset_emails
30
+ end
31
+
32
+ end
33
+ end
34
+
35
+ Spork.each_run do
36
+ FactoryGirl.reload
37
+ end
@@ -0,0 +1,16 @@
1
+ #
2
+ # Here you can specify default options for TinyMCE across all controllers
3
+ #
4
+ theme: advanced
5
+ theme_advanced_resizing: true
6
+ theme_advanced_toolbar_location: "top"
7
+ theme_advanced_statusbar_location: "bottom"
8
+ theme_advanced_buttons3_add: "pastetext,pasteword,selectall"
9
+ paste_auto_cleanup_on_paste: true
10
+ relative_urls: false
11
+ remove_script_host: false
12
+ convert_urls: false
13
+ plugins:
14
+ - table
15
+ - fullscreen
16
+ - paste
@@ -0,0 +1,233 @@
1
+ ############################################################################
2
+ # TAYLORED SOFTWARE RAILS APPLICATION TEMPLATE GEM V2.0 #
3
+ ############################################################################
4
+
5
+ require 'rubygems'
6
+ require 'rails'
7
+ require 'colored'
8
+ require 'net/http'
9
+ require 'net/ssh'
10
+
11
+ template_root = File.expand_path(File.join(File.dirname(__FILE__)))
12
+ source_paths << File.join(template_root, "files")
13
+
14
+ #============================================================================
15
+ # Global configuration
16
+ #============================================================================
17
+
18
+ require File.expand_path(File.join(template_root, "..", "lib", "constants.rb"))
19
+ require File.expand_path(File.join(template_root, "..", "lib", "helpers.rb"))
20
+
21
+ #============================================================================
22
+ # Startup
23
+ #============================================================================
24
+
25
+ printf "======================================================================\n".cyan.bold
26
+ printf "tayloredsw_rails.rb: Set up a Rails application template with\n".cyan.bold
27
+ printf " Taylored Software defaults and environment\n".cyan.bold
28
+ printf "======================================================================\n".cyan.bold
29
+ printf "\n"
30
+ printf "This script will set up a Rails application and do most of the\n".cyan
31
+ printf "application configuration for you. The script will ask several\n".cyan
32
+ printf "configuration questions at the start of the process, and then\n".cyan
33
+ printf "should run without user interaction.\n".cyan
34
+ printf "\n"
35
+
36
+ #============================================================================
37
+ # Collect needed information
38
+ #============================================================================
39
+
40
+ client_name = ask_with_default("What is the client name for this project? ", @app_name)
41
+ @client_name = client_name
42
+
43
+ printf "\n"
44
+ printf "**********************************************************************\n".magenta
45
+ printf "*".magenta
46
+ printf " And, we're off to the races! ".yellow.bold
47
+ printf "*\n".magenta
48
+ printf "* *\n".magenta
49
+ printf "* You can walk away from the computer now. No further interaction *\n".magenta
50
+ printf "* should be required to finish generating the application. *\n".magenta
51
+ printf "**********************************************************************\n".magenta
52
+
53
+ #============================================================================
54
+ # RVM
55
+ #============================================================================
56
+
57
+ section "Making an RVM gemset for #{@app_name}"
58
+ run "rvm 1.9.3"
59
+ run "rvm gemset create #{@app_name}"
60
+ run "rvm gemset use #{@app_name}"
61
+ run "echo \"rvm ruby-1.9.3@#{@app_name}\" > .rvmrc"
62
+
63
+ #============================================================================
64
+ # Remove unneeded files
65
+ #============================================================================
66
+
67
+ section "Removing unneeded files from Rails project"
68
+
69
+ remove_file "public/index.html"
70
+ remove_file "README"
71
+ remove_file "public/favicon.ico"
72
+ remove_file "public/robots.txt"
73
+ remove_file "public/images/rails.png"
74
+
75
+ empty_directory_with_gitkeep "app/models"
76
+ empty_directory_with_gitkeep "db/migrate"
77
+ empty_directory_with_gitkeep "log"
78
+ empty_directory_with_gitkeep "spec/support"
79
+ empty_directory_with_gitkeep "spec/routing"
80
+ empty_directory_with_gitkeep "spec/models"
81
+ empty_directory_with_gitkeep "spec/requests"
82
+
83
+ #============================================================================
84
+ # Add gems
85
+ #============================================================================
86
+
87
+ section "Adding Ruby gems (this may take a while)"
88
+
89
+ copy_file "Gem.gemfile", "Gemfile", :force => true
90
+ run "bundle install --binstubs"
91
+
92
+ #============================================================================
93
+ # Set up database
94
+ #============================================================================
95
+
96
+ section "Creating databases"
97
+
98
+ run "bundle exec rake db:create"
99
+ run "bundle exec rake db:migrate"
100
+ run "bundle exec rake db:test:clone"
101
+
102
+ #============================================================================
103
+ # HAML stuff
104
+ #============================================================================
105
+
106
+ section "Enabling HAML templates"
107
+ copy_file "haml_options.rb", "config/initializers/haml_options.rb"
108
+
109
+ #============================================================================
110
+ # Extra app configuration tweaks
111
+ #============================================================================
112
+
113
+ section "Making application configuration tweaks"
114
+
115
+ extra_app_config = <<-RUBY
116
+ config.time_zone = 'Pacific Time (US & Canada)'
117
+ RUBY
118
+ inject_into_class "config/application.rb", "Application", extra_app_config
119
+
120
+ production_config = <<-RUBY
121
+ config.action_mailer.raise_delivery_errors = false
122
+ RUBY
123
+ inject_into_class "config/environments/production.rb", "config/environment.rb", production_config
124
+
125
+ action_mailer_host "development", "#{@app_name}.local"
126
+ action_mailer_host "test", "example.com"
127
+ action_mailer_host "production", "#{@app_name}.taylored-software.com"
128
+
129
+ route "root :to => 'Clearance::Sessions#new'"
130
+
131
+ generators_config = <<-RUBY
132
+ config.generators do |g|
133
+ g.test_framework :rspec, :views => false, :fixture => true
134
+ g.fixture_replacement :factory_girl, :dir => 'spec/factories'
135
+ g.form_builder :simple_form
136
+ g.template_engine :haml
137
+ end
138
+ RUBY
139
+
140
+ inject_into_class "config/application.rb", "Application", generators_config
141
+
142
+ copy_file "application_helper.rb", "app/helpers/application_helper.rb", :force => true
143
+ copy_file "requires.rb", "config/initializers/requires.rb"
144
+ copy_file "noisy_attr_accessible.rb", "config/initializers/noisy_attr_accessible.rb"
145
+ copy_file "backtrace_silencers.rb", "config/initializers/backtrace_silencers.rb", :force => true
146
+
147
+ #============================================================================
148
+ # Generate rspec and cucumber stuff
149
+ #============================================================================
150
+
151
+ section "Setting up RSpec/Spork/Guard"
152
+
153
+ generate "rspec:install"
154
+
155
+ copy_file "spec_helper.rb", "spec/spec_helper.rb", :force => true
156
+ copy_file "rcov.opts", "spec/rcov.opts", :force => true
157
+ copy_file "spec.opts", "spec/spec.opts", :force => true
158
+ copy_file "mailer_macros.rb", "spec/support/mailer_macros.rb", force: true
159
+ copy_file "Guardfile", "Guardfile", force: true
160
+
161
+
162
+ #============================================================================
163
+ # Install Formtastic stuff
164
+ #============================================================================
165
+
166
+ section "Installing SimpleForm files"
167
+ generate "simple_form:install"
168
+
169
+ #============================================================================
170
+ # Generate flashes partial
171
+ #============================================================================
172
+
173
+ section "Generating shared view partials and layouts"
174
+
175
+ empty_directory "app/views/shared"
176
+
177
+ copy_file "_flashes.html.haml", 'app/views/shared/_flashes.html.haml'
178
+ copy_file "_javascript.html.haml", 'app/views/shared/_javascript.html.haml'
179
+ template "_footer.html.haml", 'app/views/shared/_footer.html.haml'
180
+ copy_file "_sign_in_out.html.haml", 'app/views/shared/_sign_in_out.html.haml'
181
+ copy_file "_sidebar.html.haml", 'app/views/shared/_sidebar.html.haml'
182
+
183
+ remove_file 'app/views/layouts/application.html.erb'
184
+ copy_file 'application.html.haml', 'app/views/layouts/application.html.haml'
185
+
186
+ #============================================================================
187
+ # Set up Git
188
+ #============================================================================
189
+
190
+ section "Setting up local git repository"
191
+
192
+ git :init
193
+ git :add => "."
194
+ git :commit => "-am 'Initial commit.'"
195
+
196
+ #msg :info, "Setting up remote Git repository"
197
+ #run "git remote add origin ssh://#{TSRails::Constants.get(:staging_ssh_user)}@#{TSRails::Constants.get(:staging_server)}#{TSRails::Constants.get(:remote_git_dir)}/#{@app_name}.git"
198
+ #run "ssh #{TSRails::Constants.get(:staging_server)} mkdir #{TSRails::Constants.get(:remote_git_dir)}/#{@app_name}.git"
199
+ #run "ssh #{TSRails::Constants.get(:staging_server)} \"cd #{TSRails::Constants.get(:remote_git_dir)}/#{@app_name}.git ; git --bare init\""
200
+
201
+ #msg :info, "Pushing code to remote Git repository"
202
+ #run "git push origin master"
203
+
204
+ #============================================================================
205
+ # Set up Consular Termfile
206
+ #============================================================================
207
+
208
+ section "Setting up Termfile for Consular"
209
+ template "Termfile", "Termfile"
210
+
211
+ #============================================================================
212
+ # Generate/Install Apache Configuration File
213
+ #============================================================================
214
+
215
+ section "Generating Apache configuration file."
216
+
217
+ template "apache_config.conf", "config/apache_config.conf"
218
+
219
+ git :add => "config/apache_config.conf"
220
+ git :commit => "-m 'Added apache configuration file from application template'"
221
+
222
+ #============================================================================
223
+ # Done.
224
+ #============================================================================
225
+
226
+ printf "\n"
227
+ printf "======================================================================\n".cyan.bold
228
+ printf "Done!\n".cyan.bold
229
+ printf "======================================================================\n".cyan.bold
230
+ printf "\n"
231
+
232
+ printf "To complete application setup, you will need to verify the Apache\n"
233
+ printf "configuration and install it on the server.\n"
data/tsrails.gemspec ADDED
@@ -0,0 +1,72 @@
1
+ Gem::Specification.new do |s|
2
+ s.specification_version = 2 if s.respond_to? :specification_version=
3
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
4
+ s.rubygems_version = '1.3.5'
5
+
6
+ s.name = 'tsrails'
7
+ s.version = '2.0.0'
8
+ s.date = '2012-01-30'
9
+
10
+ s.summary = "Generate a Rails app using Taylored Software's best practices."
11
+ s.description = <<-HERE
12
+ TSWRails is a base Rails project that you can upgrade. It is used by
13
+ Taylored Software to get a jump start on a working app.
14
+ HERE
15
+
16
+ s.authors = ["Taylored Software"]
17
+ s.email = 'rubygems@taylored-software.com'
18
+ s.homepage = 'http://github.com/tayloredsoftware/tswrails'
19
+
20
+ s.executables = ["tsrails"]
21
+ s.default_executable = 'tsrails'
22
+
23
+ s.rdoc_options = ["--charset=UTF-8"]
24
+ s.extra_rdoc_files = %w[README.md LICENSE]
25
+
26
+ s.add_dependency('rails', '>= 3.2.0')
27
+ s.add_dependency('colored', "~> 1.2")
28
+
29
+ # = MANIFEST =
30
+ s.files = %w[
31
+ LICENSE
32
+ README.md
33
+ Rakefile
34
+ bin/tsrails
35
+ lib/constants.rb
36
+ lib/create.rb
37
+ lib/errors.rb
38
+ lib/helpers.rb
39
+ template/files/Gem.gemfile
40
+ template/files/Guardfile
41
+ template/files/Termfile
42
+ template/files/_flashes.html.haml
43
+ template/files/_footer.html.haml
44
+ template/files/_javascript.html.haml
45
+ template/files/_sidebar.html.haml
46
+ template/files/_sign_in_out.html.haml
47
+ template/files/apache_config.conf
48
+ template/files/app_config.yml
49
+ template/files/application.html.haml
50
+ template/files/application_helper.rb
51
+ template/files/backtrace_silencers.rb
52
+ template/files/clearance.rb
53
+ template/files/cucumber.yml
54
+ template/files/debug_steps.rb
55
+ template/files/env.rb
56
+ template/files/factory_girl_steps.rb
57
+ template/files/haml_options.rb
58
+ template/files/jquery.rb
59
+ template/files/mailer_macros.rb
60
+ template/files/mongrel_cluster.yml
61
+ template/files/noisy_attr_accessible.rb
62
+ template/files/prefilled_input.js
63
+ template/files/rcov.opts
64
+ template/files/requires.rb
65
+ template/files/spec.opts
66
+ template/files/spec_helper.rb
67
+ template/files/tiny_mce.yml
68
+ template/tsrails_3_2.rb
69
+ tsrails.gemspec
70
+ ]
71
+ # = MANIFEST =
72
+ end