welaika-suspenders 1.2.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (53) hide show
  1. checksums.yaml +7 -0
  2. data/CONTRIBUTING.md +38 -0
  3. data/Gemfile +3 -0
  4. data/Gemfile.lock +123 -0
  5. data/LICENSE +21 -0
  6. data/NEWS.md +90 -0
  7. data/README.md +125 -0
  8. data/Rakefile +8 -0
  9. data/bin/welaika-suspenders +16 -0
  10. data/features/github_repo.feature +8 -0
  11. data/features/heroku_true.feature +9 -0
  12. data/features/rake_clean.feature +15 -0
  13. data/features/step_definitions/suspenders_steps.rb +68 -0
  14. data/features/support/bin/heroku +5 -0
  15. data/features/support/bin/hub +5 -0
  16. data/features/support/env.rb +10 -0
  17. data/features/support/fake_github.rb +21 -0
  18. data/features/support/fake_heroku.rb +21 -0
  19. data/lib/suspenders/actions.rb +35 -0
  20. data/lib/suspenders/app_builder.rb +295 -0
  21. data/lib/suspenders/generators/app_generator.rb +197 -0
  22. data/lib/suspenders/version.rb +3 -0
  23. data/templates/Gemfile_clean +46 -0
  24. data/templates/Procfile +1 -0
  25. data/templates/README.md.erb +9 -0
  26. data/templates/_flashes.html.slim +3 -0
  27. data/templates/_javascript.html.slim +5 -0
  28. data/templates/bin_setup +11 -0
  29. data/templates/config_locales_en.yml +11 -0
  30. data/templates/database_cleaner_rspec.rb +21 -0
  31. data/templates/disable_xml_params.rb +3 -0
  32. data/templates/email_validator.rb +7 -0
  33. data/templates/errors.rb +28 -0
  34. data/templates/factories_spec.rb +14 -0
  35. data/templates/factories_spec_rake_task.rb +9 -0
  36. data/templates/factory_girl_syntax_rspec.rb +3 -0
  37. data/templates/import_common_javascripts +4 -0
  38. data/templates/import_sass_styles +1 -0
  39. data/templates/model_spec_helper.rb +16 -0
  40. data/templates/postgresql_database.yml.erb +11 -0
  41. data/templates/presenters.rb +3 -0
  42. data/templates/rack_timeout.rb +1 -0
  43. data/templates/rspec +2 -0
  44. data/templates/rspec_config.rb +12 -0
  45. data/templates/sample.env +3 -0
  46. data/templates/simplecov_init.rb +3 -0
  47. data/templates/smtp.rb +10 -0
  48. data/templates/strong_parameters.rb +1 -0
  49. data/templates/suspenders_gitignore +12 -0
  50. data/templates/suspenders_layout.html.slim.erb +12 -0
  51. data/templates/unit_spec_helper.rb +14 -0
  52. data/welaika-suspenders.gemspec +37 -0
  53. metadata +180 -0
@@ -0,0 +1 @@
1
+ @import bourbon
@@ -0,0 +1,16 @@
1
+ require 'unit_spec_helper'
2
+ require 'active_record'
3
+ require 'shoulda-matchers'
4
+
5
+ db_yml_file = File.expand_path('config/database.yml')
6
+ db_config = YAML.load_file(db_yml_file)
7
+ ActiveRecord::Base.establish_connection(db_config['test'])
8
+
9
+ # add activerecord plugins here
10
+ # require 'friendly_id'
11
+
12
+ autoload_paths = ActiveSupport::Dependencies.autoload_paths
13
+ %w(app/models app/validators).each do |path|
14
+ autoload_paths.push(path) unless autoload_paths.include?(path)
15
+ end
16
+
@@ -0,0 +1,11 @@
1
+ development: &default
2
+ adapter: postgresql
3
+ database: <%= app_name %>_development
4
+ encoding: utf8
5
+ min_messages: warning
6
+ pool: 5
7
+ timeout: 5000
8
+
9
+ test:
10
+ <<: *default
11
+ database: <%= app_name %>_test
@@ -0,0 +1,3 @@
1
+ ActionController::Base.send :include, BasicPresenter::Helpers
2
+ ActionController::Base.send :helper_method, :present
3
+ ActionController::Base.send :helper_method, :present_collection
@@ -0,0 +1 @@
1
+ Rack::Timeout.timeout = (ENV['TIMEOUT_IN_SECONDS'] || 5).to_i
data/templates/rspec ADDED
@@ -0,0 +1,2 @@
1
+ --colour
2
+ --profile
@@ -0,0 +1,12 @@
1
+ RSpec.configure do |config|
2
+ config.expect_with :rspec do |c|
3
+ c.syntax = :expect
4
+ end
5
+ config.mock_with :mocha
6
+ config.order = "random"
7
+ if defined?(Rails)
8
+ config.fixture_path = "#{::Rails.root}/spec/fixtures"
9
+ config.use_transactional_fixtures = false
10
+ config.infer_base_class_for_anonymous_controllers = false
11
+ end
12
+ end
@@ -0,0 +1,3 @@
1
+ # http://ddollar.github.com/foreman/
2
+ RACK_ENV=development
3
+ PORT=3000
@@ -0,0 +1,3 @@
1
+ require 'simplecov'
2
+ SimpleCov.start 'rails'
3
+
data/templates/smtp.rb ADDED
@@ -0,0 +1,10 @@
1
+ if Rails.env.staging? || Rails.env.production?
2
+ SMTP_SETTINGS = {
3
+ address: ENV['SMTP_ADDRESS'], # example: 'smtp.sendgrid.net'
4
+ authentication: :plain,
5
+ domain: ENV['SMTP_DOMAIN'], # example: 'this-app.com'
6
+ password: ENV['SMTP_PASSWORD'],
7
+ port: '587',
8
+ user_name: ENV['SMTP_USERNAME']
9
+ }
10
+ end
@@ -0,0 +1 @@
1
+ ActiveRecord::Base.send :include, ActiveModel::ForbiddenAttributesProtection
@@ -0,0 +1,12 @@
1
+ !.keep
2
+ *.DS_Store
3
+ *.swp
4
+ .env
5
+ bin/stubs
6
+ coverage/*
7
+ log/*
8
+ public/system
9
+ rerun.txt
10
+ tags
11
+ tmp/*
12
+ vendor/bundler_gems
@@ -0,0 +1,12 @@
1
+ doctype 5
2
+ html
3
+ head
4
+ meta charset="utf-8"
5
+ meta name="ROBOTS" content="NOODP"
6
+ title= page_title
7
+ = stylesheet_link_tag :application, media: 'all'
8
+ = csrf_meta_tags
9
+ body
10
+ = render 'flashes'
11
+ = yield
12
+ = render 'javascript'
@@ -0,0 +1,14 @@
1
+ require 'active_support/dependencies'
2
+ require 'basic_presenter'
3
+
4
+ # add project root to load path
5
+ RAILS_ROOT = File.expand_path('../../', __FILE__)
6
+ $LOAD_PATH.unshift(RAILS_ROOT) unless $LOAD_PATH.include?(RAILS_ROOT)
7
+
8
+ require File.join(RAILS_ROOT, "spec/support/rspec_config.rb")
9
+
10
+ # push project directories to load
11
+ autoload_paths = ActiveSupport::Dependencies.autoload_paths
12
+ %w(app/presenters).each do |path|
13
+ autoload_paths.push(path) unless autoload_paths.include?(path)
14
+ end
@@ -0,0 +1,37 @@
1
+ # -*- encoding: utf-8 -*-
2
+ $:.push File.expand_path("../lib", __FILE__)
3
+ require 'suspenders/version'
4
+ require 'date'
5
+
6
+ Gem::Specification.new do |s|
7
+ s.name = 'welaika-suspenders'
8
+ s.version = Suspenders::VERSION
9
+ s.date = Date.today.strftime('%Y-%m-%d')
10
+ s.authors = ['thoughtbot', 'welaika']
11
+ s.email = 'info@welaika.com'
12
+ s.homepage = 'http://github.com/welaika/welaika-suspenders'
13
+
14
+ s.summary = "Generate a Rails app using weLaika's best practices."
15
+ s.description = <<-HERE
16
+ Suspenders is a base Rails project that you can upgrade. It is used by
17
+ thoughtbot to get a jump start on a working app. Use Suspenders if you're in a
18
+ rush to build something amazing; don't use it if you like missing deadlines.
19
+ HERE
20
+
21
+ s.files = `git ls-files`.split("\n").
22
+ reject { |file| file =~ /^\./ }.
23
+ reject { |file| file =~ /^(rdoc|pkg)/ }
24
+ s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
25
+ s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
26
+ s.require_paths = ["lib"]
27
+
28
+ s.rdoc_options = ["--charset=UTF-8"]
29
+ s.extra_rdoc_files = %w[README.md LICENSE]
30
+
31
+ s.add_dependency 'rails', '3.2.12'
32
+ s.add_dependency 'bundler', '>= 1.1'
33
+ s.add_dependency 'hub', '~> 1.10.2'
34
+
35
+ s.add_development_dependency 'cucumber', '~> 1.1.9'
36
+ s.add_development_dependency 'aruba', '~> 0.4.11'
37
+ end
metadata ADDED
@@ -0,0 +1,180 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: welaika-suspenders
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.2.3
5
+ platform: ruby
6
+ authors:
7
+ - thoughtbot
8
+ - welaika
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2013-03-28 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: rails
16
+ requirement: !ruby/object:Gem::Requirement
17
+ requirements:
18
+ - - '='
19
+ - !ruby/object:Gem::Version
20
+ version: 3.2.12
21
+ type: :runtime
22
+ prerelease: false
23
+ version_requirements: !ruby/object:Gem::Requirement
24
+ requirements:
25
+ - - '='
26
+ - !ruby/object:Gem::Version
27
+ version: 3.2.12
28
+ - !ruby/object:Gem::Dependency
29
+ name: bundler
30
+ requirement: !ruby/object:Gem::Requirement
31
+ requirements:
32
+ - - '>='
33
+ - !ruby/object:Gem::Version
34
+ version: '1.1'
35
+ type: :runtime
36
+ prerelease: false
37
+ version_requirements: !ruby/object:Gem::Requirement
38
+ requirements:
39
+ - - '>='
40
+ - !ruby/object:Gem::Version
41
+ version: '1.1'
42
+ - !ruby/object:Gem::Dependency
43
+ name: hub
44
+ requirement: !ruby/object:Gem::Requirement
45
+ requirements:
46
+ - - ~>
47
+ - !ruby/object:Gem::Version
48
+ version: 1.10.2
49
+ type: :runtime
50
+ prerelease: false
51
+ version_requirements: !ruby/object:Gem::Requirement
52
+ requirements:
53
+ - - ~>
54
+ - !ruby/object:Gem::Version
55
+ version: 1.10.2
56
+ - !ruby/object:Gem::Dependency
57
+ name: cucumber
58
+ requirement: !ruby/object:Gem::Requirement
59
+ requirements:
60
+ - - ~>
61
+ - !ruby/object:Gem::Version
62
+ version: 1.1.9
63
+ type: :development
64
+ prerelease: false
65
+ version_requirements: !ruby/object:Gem::Requirement
66
+ requirements:
67
+ - - ~>
68
+ - !ruby/object:Gem::Version
69
+ version: 1.1.9
70
+ - !ruby/object:Gem::Dependency
71
+ name: aruba
72
+ requirement: !ruby/object:Gem::Requirement
73
+ requirements:
74
+ - - ~>
75
+ - !ruby/object:Gem::Version
76
+ version: 0.4.11
77
+ type: :development
78
+ prerelease: false
79
+ version_requirements: !ruby/object:Gem::Requirement
80
+ requirements:
81
+ - - ~>
82
+ - !ruby/object:Gem::Version
83
+ version: 0.4.11
84
+ description: |
85
+ Suspenders is a base Rails project that you can upgrade. It is used by
86
+ thoughtbot to get a jump start on a working app. Use Suspenders if you're in a
87
+ rush to build something amazing; don't use it if you like missing deadlines.
88
+ email: info@welaika.com
89
+ executables:
90
+ - welaika-suspenders
91
+ extensions: []
92
+ extra_rdoc_files:
93
+ - README.md
94
+ - LICENSE
95
+ files:
96
+ - CONTRIBUTING.md
97
+ - Gemfile
98
+ - Gemfile.lock
99
+ - LICENSE
100
+ - NEWS.md
101
+ - README.md
102
+ - Rakefile
103
+ - bin/welaika-suspenders
104
+ - features/github_repo.feature
105
+ - features/heroku_true.feature
106
+ - features/rake_clean.feature
107
+ - features/step_definitions/suspenders_steps.rb
108
+ - features/support/bin/heroku
109
+ - features/support/bin/hub
110
+ - features/support/env.rb
111
+ - features/support/fake_github.rb
112
+ - features/support/fake_heroku.rb
113
+ - lib/suspenders/actions.rb
114
+ - lib/suspenders/app_builder.rb
115
+ - lib/suspenders/generators/app_generator.rb
116
+ - lib/suspenders/version.rb
117
+ - templates/Gemfile_clean
118
+ - templates/Procfile
119
+ - templates/README.md.erb
120
+ - templates/_flashes.html.slim
121
+ - templates/_javascript.html.slim
122
+ - templates/bin_setup
123
+ - templates/config_locales_en.yml
124
+ - templates/database_cleaner_rspec.rb
125
+ - templates/disable_xml_params.rb
126
+ - templates/email_validator.rb
127
+ - templates/errors.rb
128
+ - templates/factories_spec.rb
129
+ - templates/factories_spec_rake_task.rb
130
+ - templates/factory_girl_syntax_rspec.rb
131
+ - templates/import_common_javascripts
132
+ - templates/import_sass_styles
133
+ - templates/model_spec_helper.rb
134
+ - templates/postgresql_database.yml.erb
135
+ - templates/presenters.rb
136
+ - templates/rack_timeout.rb
137
+ - templates/rspec
138
+ - templates/rspec_config.rb
139
+ - templates/sample.env
140
+ - templates/simplecov_init.rb
141
+ - templates/smtp.rb
142
+ - templates/strong_parameters.rb
143
+ - templates/suspenders_gitignore
144
+ - templates/suspenders_layout.html.slim.erb
145
+ - templates/unit_spec_helper.rb
146
+ - welaika-suspenders.gemspec
147
+ homepage: http://github.com/welaika/welaika-suspenders
148
+ licenses: []
149
+ metadata: {}
150
+ post_install_message:
151
+ rdoc_options:
152
+ - --charset=UTF-8
153
+ require_paths:
154
+ - lib
155
+ required_ruby_version: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - '>='
158
+ - !ruby/object:Gem::Version
159
+ version: '0'
160
+ required_rubygems_version: !ruby/object:Gem::Requirement
161
+ requirements:
162
+ - - '>='
163
+ - !ruby/object:Gem::Version
164
+ version: '0'
165
+ requirements: []
166
+ rubyforge_project:
167
+ rubygems_version: 2.0.0
168
+ signing_key:
169
+ specification_version: 4
170
+ summary: Generate a Rails app using weLaika's best practices.
171
+ test_files:
172
+ - features/github_repo.feature
173
+ - features/heroku_true.feature
174
+ - features/rake_clean.feature
175
+ - features/step_definitions/suspenders_steps.rb
176
+ - features/support/bin/heroku
177
+ - features/support/bin/hub
178
+ - features/support/env.rb
179
+ - features/support/fake_github.rb
180
+ - features/support/fake_heroku.rb