railsqs 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (45) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +4 -0
  3. data/.ruby-version +1 -0
  4. data/Gemfile +3 -0
  5. data/Gemfile.lock +120 -0
  6. data/LICENSE +21 -0
  7. data/README.md +3 -0
  8. data/Rakefile +3 -0
  9. data/bin/railsqs +14 -0
  10. data/bin/rake +16 -0
  11. data/bin/setup +13 -0
  12. data/lib/railsqs/actions.rb +25 -0
  13. data/lib/railsqs/app_builder.rb +270 -0
  14. data/lib/railsqs/generators/app_generator.rb +177 -0
  15. data/lib/railsqs/version.rb +5 -0
  16. data/lib/railsqs.rb +4 -0
  17. data/railsqs.gemspec +34 -0
  18. data/templates/#bin_setup.erb# +34 -0
  19. data/templates/Gemfile.erb +64 -0
  20. data/templates/Procfile +2 -0
  21. data/templates/README.md.erb +35 -0
  22. data/templates/_flashes.html.erb +9 -0
  23. data/templates/_footer.html.erb +0 -0
  24. data/templates/_javascript.html.erb +10 -0
  25. data/templates/_navigation.html.erb +20 -0
  26. data/templates/application.css.scss +10 -0
  27. data/templates/bin_setup.erb +37 -0
  28. data/templates/bootstrap.scss +50 -0
  29. data/templates/config_i18n_tasks.yml +13 -0
  30. data/templates/config_locales_en.yml +19 -0
  31. data/templates/development_seeds.rb +7 -0
  32. data/templates/disable_xml_params.rb +3 -0
  33. data/templates/errors.rb +34 -0
  34. data/templates/newrelic.yml.erb +34 -0
  35. data/templates/postgresql_database.yml.erb +12 -0
  36. data/templates/puma.rb +158 -0
  37. data/templates/rack_timeout.rb +1 -0
  38. data/templates/railsqs_gitignore +13 -0
  39. data/templates/railsqs_layout.html.erb.erb +24 -0
  40. data/templates/sample.env +3 -0
  41. data/templates/secrets.yml +14 -0
  42. data/templates/smtp.rb +9 -0
  43. data/templates/staging.rb +5 -0
  44. data/templates/unicorn.rb +30 -0
  45. metadata +137 -0
data/lib/railsqs.rb ADDED
@@ -0,0 +1,4 @@
1
+ require 'railsqs/version'
2
+ require 'railsqs/generators/app_generator'
3
+ require 'railsqs/actions'
4
+ require 'railsqs/app_builder'
data/railsqs.gemspec ADDED
@@ -0,0 +1,34 @@
1
+ # -*- encoding: utf-8 -*-
2
+ $:.push File.expand_path('../lib', __FILE__)
3
+ require 'railsqs/version'
4
+ require 'date'
5
+
6
+ Gem::Specification.new do |s|
7
+ s.required_ruby_version = ">= #{Railsqs::RUBY_VERSION}"
8
+ s.authors = ['opendrops']
9
+ s.date = Date.today.strftime('%Y-%m-%d')
10
+
11
+ s.description = <<-HERE
12
+ Railsqs is a base Rails project that you can upgrade. It is used by
13
+ opendrops to get a jump start on a working app. Use Railsqs if you're in a
14
+ rush to build something amazing; don't use it if you like missing deadlines.
15
+ HERE
16
+
17
+ s.email = 'support@opendrops.com'
18
+ s.executables = ['railsqs']
19
+ s.extra_rdoc_files = %w[README.md LICENSE]
20
+ s.files = `git ls-files`.split("\n")
21
+ s.homepage = 'http://github.com/opendrops/railsqs'
22
+ s.license = 'MIT'
23
+ s.name = 'railsqs'
24
+ s.rdoc_options = ['--charset=UTF-8']
25
+ s.require_paths = ['lib']
26
+ s.summary = "Generate a Rails app using opendrops's best practices. (Based on Thoughtbot's suspenders)"
27
+ s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
28
+ s.version = Railsqs::VERSION
29
+
30
+ s.add_dependency 'bitters', '~> 0.10.0'
31
+ s.add_dependency 'bundler', '~> 1.3'
32
+ s.add_dependency 'rails', Railsqs::RAILS_VERSION
33
+
34
+ end
@@ -0,0 +1,34 @@
1
+ #!/usr/bin/env sh
2
+
3
+ # Set up Rails app. Run this script immediately after cloning the codebase.
4
+ # https://github.com/thoughtbot/guides/tree/master/protocol
5
+
6
+ # Exit if any subcommand fails
7
+ set -e
8
+
9
+ # Set up Ruby dependencies via Bundler
10
+ if ! command -v bundle > /dev/null; then
11
+ gem install bundler --no-document
12
+ fi
13
+
14
+ bundle install
15
+
16
+ # Set up configurable environment variables
17
+ if [ ! -f .env ]; then
18
+ cp .sample.env .env
19
+ fi
20
+
21
+ # Set up database and add any development seed data
22
+ bundle exec rake dev:prime
23
+
24
+ # Pick a port for Foreman
25
+ if ! grep -qs 'port' .foreman; then
26
+ printf 'port: <%= config[:port_number] %>\n' >> .foreman
27
+ fi
28
+
29
+ # Error out if Foreman is not installed
30
+ if ! command -v foreman > /dev/null; then
31
+ printf 'Foreman is not installed.\n'
32
+ printf 'See https://github.com/ddollar/foreman for install instructions.\n'
33
+ exit 1
34
+ fi
@@ -0,0 +1,64 @@
1
+ source 'https://rubygems.org'
2
+ ruby '<%= Railsqs::RUBY_VERSION %>'
3
+
4
+ def darwin_only(require_as)
5
+ RUBY_PLATFORM.include?('darwin') && require_as
6
+ end
7
+
8
+ def linux_only(require_as)
9
+ RUBY_PLATFORM.include?('linux') && require_as
10
+ end
11
+
12
+ gem 'bootstrap-sass', '~> 3.2.0'
13
+ gem 'bourbon', '~> 3.2.1'
14
+ gem 'coffee-rails', '~> 4.0.0'
15
+ gem 'email_validator'
16
+ gem 'font-awesome-rails'
17
+ gem 'jquery-rails', '~> 4.0.0.beta2'
18
+ gem 'jbuilder', '~> 2.0'
19
+ gem 'kaminari'
20
+ gem 'neat', '~> 1.5.1'
21
+ gem 'normalize-rails', '~> 3.0.0'
22
+ gem 'pg'
23
+ gem 'puma'
24
+ gem 'rack-timeout'
25
+ gem 'rails', '<%= Railsqs::RAILS_VERSION %>'
26
+ gem 'ransack', github: 'activerecord-hackery/ransack', branch: 'rails-4.2'
27
+ gem 'recipient_interceptor'
28
+ gem 'sass-rails', '~> 5.0.0.beta1'
29
+ gem 'simple_form'
30
+ gem 'turbolinks'
31
+ gem 'uglifier', '>= 1.3.0'
32
+
33
+ group :development, :test do
34
+ gem 'awesome_print'
35
+ gem 'byebug'
36
+ gem 'capybara'
37
+ gem 'ffaker'
38
+ gem 'growl', require: darwin_only('growl')
39
+ gem 'guard'
40
+ gem 'guard-spinach'
41
+ gem 'launchy'
42
+ gem 'pry'
43
+ gem 'pry-rails'
44
+ gem 'rb-fsevent', require: darwin_only('rb-fsevent')
45
+ gem 'rb-inotify', require: linux_only('rb-inotify')
46
+ gem 'spinach'
47
+ gem 'spring-commands-spinach'
48
+ gem 'spring'
49
+ gem 'web-console', '~> 2.0.0.beta4'
50
+ end
51
+
52
+ group :test do
53
+ gem 'database_cleaner'
54
+ gem 'poltergeist'
55
+ gem 'timecop'
56
+ gem 'webmock'
57
+ end
58
+
59
+ group :staging, :production do
60
+
61
+ end
62
+
63
+
64
+
@@ -0,0 +1,2 @@
1
+ web: bundle exec puma -p $PORT -C ./config/puma.rb
2
+
@@ -0,0 +1,35 @@
1
+ <%= app_name.humanize %>
2
+ <%= '=' * app_name.humanize.length %>
3
+
4
+ Getting Started
5
+ ---------------
6
+
7
+ After you have cloned this repo, run this setup script to set up your machine
8
+ with the necessary dependencies to run and test this app:
9
+
10
+ % ./bin/setup
11
+
12
+ It assumes you have a machine equipped with Ruby, Postgres, etc. If not, set up
13
+ your machine with [this script].
14
+
15
+ [this script]: https://github.com/thoughtbot/laptop
16
+
17
+ After setting up, you can run the application using [foreman]:
18
+
19
+ % foreman start
20
+
21
+ If you don't have `foreman`, see [Foreman's install instructions][foreman]. It
22
+ is [purposefully excluded from the project's `Gemfile`][exclude].
23
+
24
+ [foreman]: https://github.com/ddollar/foreman
25
+ [exclude]: https://github.com/ddollar/foreman/pull/437#issuecomment-41110407
26
+
27
+ Guidelines
28
+ ----------
29
+
30
+ Use the following guides for getting things done, programming well, and
31
+ programming in style.
32
+
33
+ * [Protocol](http://github.com/thoughtbot/guides/blob/master/protocol)
34
+ * [Best Practices](http://github.com/thoughtbot/guides/blob/master/best-practices)
35
+ * [Style](http://github.com/thoughtbot/guides/blob/master/style)
@@ -0,0 +1,9 @@
1
+ <%# Rails flash messages styled for Bootstrap 3.0 %>
2
+ <% flash.each do |name, msg| %>
3
+ <% if msg.is_a?(String) %>
4
+ <div class="alert alert-<%= name.to_s == 'notice' ? 'success' : 'danger' %>">
5
+ <button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button>
6
+ <%= content_tag :div, msg, :id => "flash_#{name}" %>
7
+ </div>
8
+ <% end %>
9
+ <% end %>
File without changes
@@ -0,0 +1,10 @@
1
+ <%= javascript_include_tag :application %>
2
+
3
+ <%= yield :javascript %>
4
+
5
+ <% if Rails.env.test? %>
6
+ <%= javascript_tag do %>
7
+ $.fx.off = true;
8
+ $.ajaxSetup({ async: false });
9
+ <% end %>
10
+ <% end %>
@@ -0,0 +1,20 @@
1
+ <%# navigation styled for Bootstrap 3.0 %>
2
+ <nav class="navbar navbar-default">
3
+ <div class="container">
4
+ <div class="navbar-header">
5
+ <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
6
+ <span class="sr-only">Toggle navigation</span>
7
+ <span class="icon-bar"></span>
8
+ <span class="icon-bar"></span>
9
+ <span class="icon-bar"></span>
10
+ </button>
11
+ <%= link_to 'Home', root_path, class: 'navbar-brand' %>
12
+ </div>
13
+ <div class="collapse navbar-collapse">
14
+ <ul class="nav navbar-nav">
15
+ <li><a href="#">Dummy</a></li>
16
+ <%# render 'layouts/navigation_links' %>
17
+ </ul>
18
+ </div>
19
+ </div>
20
+ </nav>
@@ -0,0 +1,10 @@
1
+ @charset 'utf-8';
2
+
3
+ //import 'normalize-rails';
4
+ @import 'bourbon';
5
+ @import 'base/grid-settings';
6
+ @import 'neat';
7
+ //@import 'base/base';
8
+
9
+ @import "bootstrap-sprockets";
10
+ @import 'bootstrap';
@@ -0,0 +1,37 @@
1
+ #!/usr/bin/env sh
2
+
3
+ # Set up Rails app. Run this script immediately after cloning the codebase.
4
+ # https://github.com/thoughtbot/guides/tree/master/protocol
5
+
6
+ # Exit if any subcommand fails
7
+ set -e
8
+
9
+ # Set up Ruby dependencies via Bundler
10
+ if ! command -v bundle > /dev/null; then
11
+ gem install bundler --no-document
12
+ fi
13
+
14
+ bundle install
15
+
16
+ # Set up configurable environment variables
17
+ if [ ! -f .env ]; then
18
+ cp .sample.env .env
19
+ fi
20
+
21
+ # Set up database and add any development seed data
22
+ bundle exec rake dev:prime
23
+
24
+ # Add binstubs to PATH via export PATH=".git/safe/../../bin:$PATH" in ~/.zshenv
25
+ mkdir -p .git/safe
26
+
27
+ # Pick a port for Foreman
28
+ if ! grep -qs 'port' .foreman; then
29
+ printf 'port: <%= config[:port_number] %>\n' >> .foreman
30
+ fi
31
+
32
+ # Error out if Foreman is not installed
33
+ if ! command -v foreman > /dev/null; then
34
+ printf 'Foreman is not installed.\n'
35
+ printf 'See https://github.com/ddollar/foreman for install instructions.\n'
36
+ exit 1
37
+ fi
@@ -0,0 +1,50 @@
1
+ // Core variables and mixins
2
+ @import "bootstrap/variables";
3
+ @import "bootstrap/mixins";
4
+
5
+ // Reset and dependencies
6
+ @import "bootstrap/normalize";
7
+ @import "bootstrap/print";
8
+ @import "bootstrap/glyphicons";
9
+
10
+ // Core CSS
11
+ @import "bootstrap/scaffolding";
12
+ @import "bootstrap/type";
13
+ @import "bootstrap/code";
14
+ @import "bootstrap/grid";
15
+ @import "bootstrap/tables";
16
+ @import "bootstrap/forms";
17
+ @import "bootstrap/buttons";
18
+
19
+ // Components
20
+ @import "bootstrap/component-animations";
21
+ @import "bootstrap/dropdowns";
22
+ @import "bootstrap/button-groups";
23
+ @import "bootstrap/input-groups";
24
+ @import "bootstrap/navs";
25
+ @import "bootstrap/navbar";
26
+ @import "bootstrap/breadcrumbs";
27
+ @import "bootstrap/pagination";
28
+ @import "bootstrap/pager";
29
+ @import "bootstrap/labels";
30
+ @import "bootstrap/badges";
31
+ @import "bootstrap/jumbotron";
32
+ @import "bootstrap/thumbnails";
33
+ @import "bootstrap/alerts";
34
+ @import "bootstrap/progress-bars";
35
+ @import "bootstrap/media";
36
+ @import "bootstrap/list-group";
37
+ @import "bootstrap/panels";
38
+ @import "bootstrap/responsive-embed";
39
+ @import "bootstrap/wells";
40
+ @import "bootstrap/close";
41
+
42
+ // Components w/ JavaScript
43
+ @import "bootstrap/modals";
44
+ @import "bootstrap/tooltip";
45
+ @import "bootstrap/popovers";
46
+ @import "bootstrap/carousel";
47
+
48
+ // Utility classes
49
+ @import "bootstrap/utilities";
50
+ @import "bootstrap/responsive-utilities";
@@ -0,0 +1,13 @@
1
+ search:
2
+ paths:
3
+ - "app/controllers"
4
+ - "app/helpers"
5
+ - "app/presenters"
6
+ - "app/views"
7
+
8
+ ignore_unused:
9
+ - activerecord.*
10
+ - date.*
11
+ - simple_form.*
12
+ - time.*
13
+ - titles.*
@@ -0,0 +1,19 @@
1
+ en:
2
+ date:
3
+ formats:
4
+ default:
5
+ "%m/%d/%Y"
6
+ with_weekday:
7
+ "%a %m/%d/%y"
8
+
9
+ time:
10
+ formats:
11
+ default:
12
+ "%a, %b %-d, %Y at %r"
13
+ date:
14
+ "%b %-d, %Y"
15
+ short:
16
+ "%B %d"
17
+
18
+ titles:
19
+ application: <%= app_name.humanize %>
@@ -0,0 +1,7 @@
1
+ if Rails.env.development?
2
+ namespace :dev do
3
+ task prime: "db:setup" do
4
+ # create(:user, email: "user@example.com", password: "password")
5
+ end
6
+ end
7
+ end
@@ -0,0 +1,3 @@
1
+ # Protect against injection attacks
2
+ # http://www.kb.cert.org/vuls/id/380039
3
+ ActionDispatch::ParamsParser::DEFAULT_PARSERS.delete(Mime::XML)
@@ -0,0 +1,34 @@
1
+ require "net/http"
2
+ require "net/smtp"
3
+
4
+ # Example:
5
+ # begin
6
+ # some http call
7
+ # rescue *HTTP_ERRORS => error
8
+ # notify_hoptoad error
9
+ # end
10
+
11
+ HTTP_ERRORS = [
12
+ EOFError,
13
+ Errno::ECONNRESET,
14
+ Errno::EINVAL,
15
+ Net::HTTPBadResponse,
16
+ Net::HTTPHeaderSyntaxError,
17
+ Net::ProtocolError,
18
+ Timeout::Error
19
+ ]
20
+
21
+ SMTP_SERVER_ERRORS = [
22
+ IOError,
23
+ Net::SMTPAuthenticationError,
24
+ Net::SMTPServerBusy,
25
+ Net::SMTPUnknownError,
26
+ TimeoutError
27
+ ]
28
+
29
+ SMTP_CLIENT_ERRORS = [
30
+ Net::SMTPFatalError,
31
+ Net::SMTPSyntaxError
32
+ ]
33
+
34
+ SMTP_ERRORS = SMTP_SERVER_ERRORS + SMTP_CLIENT_ERRORS
@@ -0,0 +1,34 @@
1
+ common: &default_settings
2
+ app_name: "<%= app_name %>"
3
+ audit_log:
4
+ enabled: false
5
+ browser_monitoring:
6
+ auto_instrument: true
7
+ capture_params: false
8
+ developer_mode: false
9
+ error_collector:
10
+ capture_source: true
11
+ enabled: true
12
+ ignore_errors: "ActionController::RoutingError,Sinatra::NotFound"
13
+ license_key: "<%%= ENV["NEW_RELIC_LICENSE_KEY"] %>"
14
+ log_level: info
15
+ monitor_mode: true
16
+ transaction_tracer:
17
+ enabled: true
18
+ record_sql: obfuscated
19
+ stack_trace_threshold: 0.500
20
+ transaction_threshold: apdex_f
21
+ development:
22
+ <<: *default_settings
23
+ monitor_mode: false
24
+ developer_mode: true
25
+ test:
26
+ <<: *default_settings
27
+ monitor_mode: false
28
+ production:
29
+ <<: *default_settings
30
+ monitor_mode: true
31
+ staging:
32
+ <<: *default_settings
33
+ app_name: "<%= app_name %> (Staging)"
34
+ monitor_mode: true
@@ -0,0 +1,12 @@
1
+ development: &default
2
+ adapter: postgresql
3
+ database: <%= app_name %>_development
4
+ encoding: utf8
5
+ host: localhost
6
+ min_messages: warning
7
+ pool: 2
8
+ timeout: 5000
9
+
10
+ test:
11
+ <<: *default
12
+ database: <%= app_name %>_test
data/templates/puma.rb ADDED
@@ -0,0 +1,158 @@
1
+ #!/usr/bin/env puma
2
+
3
+ # The directory to operate out of.
4
+ #
5
+ # The default is the current directory.
6
+ #
7
+ # directory '/u/apps/lolcat'
8
+
9
+ # Use an object or block as the rack application. This allows the
10
+ # config file to be the application itself.
11
+ #
12
+ # app do |env|
13
+ # puts env
14
+ #
15
+ # body = 'Hello, World!'
16
+ #
17
+ # [200, { 'Content-Type' => 'text/plain', 'Content-Length' => body.length.to_s }, [body]]
18
+ # end
19
+
20
+ # Load “path” as a rackup file.
21
+ #
22
+ # The default is “config.ru”.
23
+ #
24
+ # rackup '/u/apps/lolcat/config.ru'
25
+
26
+ # Set the environment in which the rack's app will run. The value must be a string.
27
+ #
28
+ # The default is “development”.
29
+ #
30
+ # environment 'production'
31
+
32
+ # Daemonize the server into the background. Highly suggest that
33
+ # this be combined with “pidfile” and “stdout_redirect”.
34
+ #
35
+ # The default is “false”.
36
+ #
37
+ # daemonize
38
+ # daemonize false
39
+
40
+ # Store the pid of the server in the file at “path”.
41
+ #
42
+ # pidfile '/u/apps/lolcat/tmp/pids/puma.pid'
43
+
44
+ # Use “path” as the file to store the server info state. This is
45
+ # used by “pumactl” to query and control the server.
46
+ #
47
+ # state_path '/u/apps/lolcat/tmp/pids/puma.state'
48
+
49
+ # Redirect STDOUT and STDERR to files specified. The 3rd parameter
50
+ # (“append”) specifies whether the output is appended, the default is
51
+ # “false”.
52
+ #
53
+ # stdout_redirect '/u/apps/lolcat/log/stdout', '/u/apps/lolcat/log/stderr'
54
+ # stdout_redirect '/u/apps/lolcat/log/stdout', '/u/apps/lolcat/log/stderr', true
55
+
56
+ # Disable request logging.
57
+ #
58
+ # The default is “false”.
59
+ #
60
+ # quiet
61
+
62
+ # Configure “min” to be the minimum number of threads to use to answer
63
+ # requests and “max” the maximum.
64
+ #
65
+ # The default is “0, 16”.
66
+ #
67
+ # threads 0, 16
68
+
69
+ # Bind the server to “url”. “tcp://”, “unix://” and “ssl://” are the only
70
+ # accepted protocols.
71
+ #
72
+ # The default is “tcp://0.0.0.0:9292”.
73
+ #
74
+ # bind 'tcp://0.0.0.0:9292'
75
+ # bind 'unix:///var/run/puma.sock'
76
+ # bind 'unix:///var/run/puma.sock?umask=0777'
77
+ # bind 'ssl://127.0.0.1:9292?key=path_to_key&cert=path_to_cert'
78
+
79
+ # Instead of “bind 'ssl://127.0.0.1:9292?key=path_to_key&cert=path_to_cert'” you
80
+ # can also use the “ssl_bind” option.
81
+ #
82
+ # ssl_bind '127.0.0.1', '9292', { key: path_to_key, cert: path_to_cert }
83
+
84
+ # Code to run before doing a restart. This code should
85
+ # close log files, database connections, etc.
86
+ #
87
+ # This can be called multiple times to add code each time.
88
+ #
89
+ # on_restart do
90
+ # puts 'On restart...'
91
+ # end
92
+
93
+ # Command to use to restart puma. This should be just how to
94
+ # load puma itself (ie. 'ruby -Ilib bin/puma'), not the arguments
95
+ # to puma, as those are the same as the original process.
96
+ #
97
+ # restart_command '/u/app/lolcat/bin/restart_puma'
98
+
99
+ # === Cluster mode ===
100
+
101
+ # How many worker processes to run.
102
+ #
103
+ # The default is “0”.
104
+ #
105
+ # workers 2
106
+
107
+ # Code to run when a worker boots to setup the process before booting
108
+ # the app.
109
+ #
110
+ # This can be called multiple times to add hooks.
111
+ #
112
+ # on_worker_boot do
113
+ # puts 'On worker boot...'
114
+ # end
115
+
116
+ # Code to run when a worker boots to setup the process after booting
117
+ # the app.
118
+ #
119
+ # This can be called multiple times to add hooks.
120
+ #
121
+ # after_worker_boot do
122
+ # puts 'On worker boot...'
123
+ # end
124
+
125
+ # Allow workers to reload bundler context when master process is issued
126
+ # a USR1 signal. This allows proper reloading of gems while the master
127
+ # is preserved across a phased-restart. (incompatible with preload_app)
128
+ # (off by default)
129
+
130
+ # prune_bundler
131
+
132
+ # Preload the application before starting the workers; this conflicts with
133
+ # phased restart feature. (off by default)
134
+
135
+ # preload_app!
136
+
137
+ # Additional text to display in process listing
138
+ #
139
+ # tag 'app name'
140
+
141
+ # Change the default timeout of workers
142
+ #
143
+ # worker_timeout 60
144
+
145
+ # === Puma control rack application ===
146
+
147
+ # Start the puma control rack application on “url”. This application can
148
+ # be communicated with to control the main server. Additionally, you can
149
+ # provide an authentication token, so all requests to the control server
150
+ # will need to include that token as a query parameter. This allows for
151
+ # simple authentication.
152
+ #
153
+ # Check out https://github.com/puma/puma/blob/master/lib/puma/app/status.rb
154
+ # to see what the app has available.
155
+ #
156
+ # activate_control_app 'unix:///var/run/pumactl.sock'
157
+ # activate_control_app 'unix:///var/run/pumactl.sock', { auth_token: '12345' }
158
+ # activate_control_app 'unix:///var/run/pumactl.sock', { no_token: true }
@@ -0,0 +1 @@
1
+ Rack::Timeout.timeout = (ENV["TIMEOUT_IN_SECONDS"] || 5).to_i
@@ -0,0 +1,13 @@
1
+ !.keep
2
+ *.DS_Store
3
+ *.swo
4
+ *.swp
5
+ /.bundle
6
+ /.env
7
+ /.foreman
8
+ /coverage/*
9
+ /db/*.sqlite3
10
+ /log/*
11
+ /public/system
12
+ /tags
13
+ /tmp/*
@@ -0,0 +1,24 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <meta charset="utf-8" />
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title><%%= content_for?(:title) ? yield(:title) : "My Application" %></title>
7
+ <meta name="description" content="<%%= content_for?(:description) ? yield(:description) : "" %>">
8
+ <%%= stylesheet_link_tag :application, media: "all" %>
9
+ <%%= csrf_meta_tags %>
10
+ </head>
11
+ <body class="">
12
+ <header>
13
+ <%%= render 'navigation' %>
14
+ </header>
15
+ <main role="main">
16
+ <%%= render 'flashes' -%>
17
+ <%%= yield %>
18
+ </main>
19
+ <footer>
20
+ <%%= render 'footer' %>
21
+ </footer>
22
+ <%%= render 'javascript' %>
23
+ </body>
24
+ </html>
@@ -0,0 +1,3 @@
1
+ # http://ddollar.github.com/foreman/
2
+ RACK_ENV=development
3
+ SECRET_KEY_BASE=development_secret
@@ -0,0 +1,14 @@
1
+ default: &default
2
+ secret_key_base: <%%= ENV["SECRET_KEY_BASE"] %>
3
+
4
+ development:
5
+ <<: *default
6
+
7
+ test:
8
+ <<: *default
9
+
10
+ staging:
11
+ <<: *default
12
+
13
+ production:
14
+ <<: *default