pah 0.0.17 → 0.0.19
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.
- checksums.yaml +4 -4
- data/.ruby-version +1 -1
- data/.travis.yml +1 -1
- data/CHANGELOG.md +31 -1
- data/CONTRIBUTING.md +3 -3
- data/README.md +12 -3
- data/bin/pah +2 -3
- data/features/bourbon.feature +2 -1
- data/features/capybara.feature +0 -1
- data/features/commands.feature +25 -0
- data/features/env.feature +1 -1
- data/features/gemfile.feature +1 -1
- data/features/inflections.feature +8 -3
- data/features/jumpup.feature +2 -1
- data/features/layout.feature +0 -4
- data/features/{sendgrid.feature → mandrill.feature} +1 -1
- data/features/public.feature +0 -9
- data/features/rails_works.feature +1 -0
- data/features/readme.feature +1 -1
- data/features/runner.feature +9 -1
- data/features/step_definitions/file_content.rb +5 -0
- data/lib/pah/cli.rb +14 -0
- data/lib/pah/commands.rb +22 -0
- data/lib/pah/commands/app.rb +14 -0
- data/lib/pah/commands/help.rb +15 -0
- data/lib/pah/commands/version.rb +18 -0
- data/lib/pah/files/Gemfile +20 -18
- data/lib/pah/files/app/views/layouts/application.html.slim +0 -1
- data/lib/pah/files/lib/tasks/jumpup.rake +1 -0
- data/lib/pah/rails_template.rb +1 -1
- data/lib/pah/templates/bourbon.rb +2 -1
- data/lib/pah/templates/capybara.rb +0 -1
- data/lib/pah/templates/heroku.rb +8 -1
- data/lib/pah/templates/inflection.rb +1 -1
- data/lib/pah/templates/mandrill.rb +26 -0
- data/lib/pah/templates/public.rb +0 -3
- data/lib/pah/version.rb +3 -3
- metadata +15 -10
- data/lib/pah/files/public/humans.txt +0 -5
- data/lib/pah/files/spec/support/shared_connection.rb +0 -14
- data/lib/pah/templates/sendgrid.rb +0 -27
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 5d4df6a429d510293022ab28e25ef317a353b7a3
|
|
4
|
+
data.tar.gz: 783e97620a7957ddc43a7d06c42e0f2b61576f64
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 3b97989269f15499695eee26ee830c2fddb0500ee255371713a47401ca7d9dc0f54b19cf83ba5963254189c495a0e75d39e07186b5c88fb204c66c43c7d9d4b6
|
|
7
|
+
data.tar.gz: a1c5e1f8d2bd3ce33e780e3758c3aefc80d03c28203c90fb3279186ae8742f9d239bcf77611597f61e94dadb9aa194ae541d231dd70af657dec994ca2454df86
|
data/.ruby-version
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
2.1.
|
|
1
|
+
2.1.5
|
data/.travis.yml
CHANGED
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,35 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.0.20 (unreleased)
|
|
4
|
+
|
|
5
|
+
### features
|
|
6
|
+
|
|
7
|
+
### improvements
|
|
8
|
+
|
|
9
|
+
### bug fixes
|
|
10
|
+
|
|
11
|
+
## 0.0.19 (December 12, 2014)
|
|
12
|
+
|
|
13
|
+
### features
|
|
14
|
+
|
|
15
|
+
### improvements
|
|
16
|
+
|
|
17
|
+
- Remove shared_connection.rb
|
|
18
|
+
- Add [normalize-rails](https://github.com/markmcconachie/normalize-rails) gem
|
|
19
|
+
- Add [Librato](https://addons.heroku.com/librato) addon
|
|
20
|
+
- Update gems including jumpup to `0.0.8` which includes task to abort integration if a new commit is inserted between test and push
|
|
21
|
+
- Set Ruby 2.1.5 as default
|
|
22
|
+
- Handle version and help commands, instead of delegate directly to rails new
|
|
23
|
+
- Change from sendgrid to mandrill
|
|
24
|
+
- Removed humans.txt
|
|
25
|
+
|
|
26
|
+
### bug fixes
|
|
27
|
+
|
|
28
|
+
- Fix pah generating duplicated inflections configuration
|
|
29
|
+
- Fix the import of grid-settings on bitters
|
|
30
|
+
|
|
31
|
+
## 0.0.18 (yanked)
|
|
32
|
+
|
|
3
33
|
## 0.0.17 (October 16, 2014)
|
|
4
34
|
|
|
5
35
|
### bug fixed
|
|
@@ -42,7 +72,7 @@
|
|
|
42
72
|
- Move production/staging only gems to the correct group on Gemfile
|
|
43
73
|
|
|
44
74
|
|
|
45
|
-
### bug
|
|
75
|
+
### bug fixes
|
|
46
76
|
|
|
47
77
|
- Fix the I18n problem (ref.: https://github.com/rails/rails/issues/13164#issuecomment-39744133)
|
|
48
78
|
- Error out when `heroku` commands fail to run during app's creation
|
data/CONTRIBUTING.md
CHANGED
|
@@ -23,15 +23,15 @@ a test!
|
|
|
23
23
|
|
|
24
24
|
1. Create new Pull Request
|
|
25
25
|
|
|
26
|
-
At this point you're waiting on us. We like to at least give you feedback, if not just
|
|
26
|
+
At this point you're waiting on us. We like to at least give you feedback, if not just
|
|
27
27
|
accept it, within a few days, depending on our internal priorities.
|
|
28
28
|
|
|
29
29
|
Some things that will increase the chance that your pull request is accepted is to follow the practices described on [Ruby style guide](https://github.com/bbatsov/ruby-style-guide), [Rails style guide](https://github.com/bbatsov/rails-style-guide) and [Better Specs](http://betterspecs.org/).
|
|
30
30
|
|
|
31
31
|
## General rules
|
|
32
32
|
|
|
33
|
-
-
|
|
34
|
-
-
|
|
33
|
+
- Version upgrade of gems should be done only via PR (without opening an issue before)
|
|
34
|
+
- Features should be discussed on issues before opening a PR. If passed 15 days without interaction on the issue(a comment, a pull request) the issue will be closed.
|
|
35
35
|
- Every PR of new features/gems should come with the specs/feature of the change
|
|
36
36
|
|
|
37
37
|
## Removing gems
|
data/README.md
CHANGED
|
@@ -14,12 +14,21 @@ A Rails application template which was born from [Startup DEV][startupdev] and n
|
|
|
14
14
|
|
|
15
15
|
## Instalation
|
|
16
16
|
|
|
17
|
-
Install PAH with the command:
|
|
17
|
+
Install PAH from rubygems with the command:
|
|
18
18
|
|
|
19
19
|
```bash
|
|
20
20
|
$ gem install pah
|
|
21
21
|
```
|
|
22
22
|
|
|
23
|
+
or install from source with:
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
$ git clone https://github.com/Helabs/pah
|
|
27
|
+
cd ./pah
|
|
28
|
+
bundle install
|
|
29
|
+
bundle exec ./bin/pah ~/path/to/project
|
|
30
|
+
```
|
|
31
|
+
|
|
23
32
|
If you're using [RVM see those tips](https://github.com/Helabs/pah/wiki/Using-Pah-with-RVM).
|
|
24
33
|
|
|
25
34
|
## Usage
|
|
@@ -30,7 +39,7 @@ Run:
|
|
|
30
39
|
$ pah projectname
|
|
31
40
|
```
|
|
32
41
|
|
|
33
|
-
This will create a Rails 4.1.
|
|
42
|
+
This will create a Rails 4.1.8 app with Ruby 2.1.5. This script creates a new git repository in the folder `projectname`.
|
|
34
43
|
|
|
35
44
|
:warning: PAH is not meant to be used against an existing repo.
|
|
36
45
|
|
|
@@ -39,7 +48,7 @@ This will create a Rails 4.1.4 app with Ruby 2.1.3. This script creates a new gi
|
|
|
39
48
|
If you're using RVM, create and use a gemset (with the project name) before running PAH:
|
|
40
49
|
|
|
41
50
|
```bash
|
|
42
|
-
$ rvm use 2.1.
|
|
51
|
+
$ rvm use 2.1.5@projectname --create
|
|
43
52
|
$ pah projectname
|
|
44
53
|
```
|
|
45
54
|
|
data/bin/pah
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
#!/usr/bin/env ruby
|
|
2
|
-
require File.expand_path(File.join('..', 'lib', 'pah', '
|
|
2
|
+
require File.expand_path(File.join('..', 'lib', 'pah', 'cli.rb'), File.dirname(__FILE__))
|
|
3
3
|
|
|
4
|
-
|
|
5
|
-
exec "rails _#{::Pah::RAILS_VERSION}_ new #{ARGV[0]} -T -m #{template_rb}"
|
|
4
|
+
Pah::CLI.start(ARGV)
|
data/features/bourbon.feature
CHANGED
|
@@ -6,6 +6,7 @@ Feature: Bourbon
|
|
|
6
6
|
Scenario: Correct bourbon install
|
|
7
7
|
Then I have the file app/assets/stylesheets/application.css.scss and contents of this file should include:
|
|
8
8
|
"""
|
|
9
|
+
@import 'normalize-rails';
|
|
9
10
|
@import 'bourbon';
|
|
10
11
|
@import 'base/base';
|
|
11
12
|
@import 'neat';
|
|
@@ -16,7 +17,7 @@ Feature: Bourbon
|
|
|
16
17
|
"""
|
|
17
18
|
Then I have the file app/assets/stylesheets/base/_base.scss and contents of this file should match:
|
|
18
19
|
"""
|
|
19
|
-
|
|
20
|
+
^@import "grid-settings";
|
|
20
21
|
"""
|
|
21
22
|
Then I dont have a app/assets/stylesheets/application.css
|
|
22
23
|
|
data/features/capybara.feature
CHANGED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
@no-clobber
|
|
2
|
+
Feature: Commands
|
|
3
|
+
Scenario: --version prompts the versions
|
|
4
|
+
When I run `pah --version`
|
|
5
|
+
Then the output should contain:
|
|
6
|
+
"""
|
|
7
|
+
Pah version: 0.0.19
|
|
8
|
+
Rails version: 4.1.8
|
|
9
|
+
Ruby version: 2.1.5
|
|
10
|
+
"""
|
|
11
|
+
Scenario: -v prompts the versions
|
|
12
|
+
When I run `pah -v`
|
|
13
|
+
Then the output should contain:
|
|
14
|
+
"""
|
|
15
|
+
Pah version: 0.0.19
|
|
16
|
+
Rails version: 4.1.8
|
|
17
|
+
Ruby version: 2.1.5
|
|
18
|
+
"""
|
|
19
|
+
Scenario: without args prompt help
|
|
20
|
+
When I run `pah`
|
|
21
|
+
Then the output should contain:
|
|
22
|
+
"""
|
|
23
|
+
Usage: pah <project_name> Creates a new rails application using project_name
|
|
24
|
+
[--version|-v] Prompts the pah, rails and ruby version
|
|
25
|
+
"""
|
data/features/env.feature
CHANGED
data/features/gemfile.feature
CHANGED
|
@@ -6,9 +6,14 @@ Feature: Inflections
|
|
|
6
6
|
Scenario: Add API as acronym
|
|
7
7
|
Then I have the file config/initializers/inflections.rb and contents of this file should include:
|
|
8
8
|
"""
|
|
9
|
-
|
|
9
|
+
# end
|
|
10
|
+
|
|
11
|
+
# These inflection rules are supported but not enabled by default:
|
|
10
12
|
"""
|
|
11
|
-
Then I have the file config/initializers/inflections.rb and contents of this file should
|
|
13
|
+
Then I have the file config/initializers/inflections.rb and contents of this file should end with:
|
|
12
14
|
"""
|
|
13
|
-
|
|
15
|
+
ActiveSupport::Inflector.inflections do |inflect|
|
|
16
|
+
inflect.acronym 'API'
|
|
17
|
+
end
|
|
18
|
+
|
|
14
19
|
"""
|
data/features/jumpup.feature
CHANGED
data/features/layout.feature
CHANGED
data/features/public.feature
CHANGED
|
@@ -5,21 +5,12 @@ Feature: Public
|
|
|
5
5
|
|
|
6
6
|
Scenario: Have correct files
|
|
7
7
|
Then I have a public/robots.txt
|
|
8
|
-
Then I have a public/humans.txt
|
|
9
8
|
Then I have a public/404.html
|
|
10
9
|
Then I have a public/500.html
|
|
11
10
|
Then I have the file public/robots.txt and contents of this file should include:
|
|
12
11
|
"""
|
|
13
12
|
Disallow: /admin/
|
|
14
13
|
"""
|
|
15
|
-
Then I have the file public/humans.txt and contents of this file should include:
|
|
16
|
-
"""
|
|
17
|
-
/* TEAM */
|
|
18
|
-
Developer: HE:labs team
|
|
19
|
-
Contact: tech [at] helabs.com.br
|
|
20
|
-
Twitter: @helabs
|
|
21
|
-
From: Rio de Janeiro, Brazil
|
|
22
|
-
"""
|
|
23
14
|
Then I have the file public/404.html and contents of this file should include:
|
|
24
15
|
"""
|
|
25
16
|
Hmmm... Não achamos a página que você está procurando.
|
data/features/readme.feature
CHANGED
data/features/runner.feature
CHANGED
|
@@ -42,7 +42,7 @@ Feature: Run without errors
|
|
|
42
42
|
"""
|
|
43
43
|
Then the stdout should contain:
|
|
44
44
|
"""
|
|
45
|
-
running heroku addons:add
|
|
45
|
+
running heroku addons:add mandrill:starter --app myapponheroku
|
|
46
46
|
"""
|
|
47
47
|
Then the stdout should contain:
|
|
48
48
|
"""
|
|
@@ -52,6 +52,14 @@ Feature: Run without errors
|
|
|
52
52
|
"""
|
|
53
53
|
running heroku addons:add newrelic:stark --app myapponheroku
|
|
54
54
|
"""
|
|
55
|
+
Then the stdout should contain:
|
|
56
|
+
"""
|
|
57
|
+
running heroku addons:add librato --app myapponheroku
|
|
58
|
+
"""
|
|
59
|
+
Then the stdout should contain:
|
|
60
|
+
"""
|
|
61
|
+
running heroku config:set LIBRATO_SOURCE=myapponheroku --app myapponheroku
|
|
62
|
+
"""
|
|
55
63
|
Then the output should contain:
|
|
56
64
|
"""
|
|
57
65
|
CONGRATS! INSTALLATION COMPLETE!
|
|
@@ -8,6 +8,11 @@ Then(/^I have the file(.* )and contents of this file should include:$/) do |file
|
|
|
8
8
|
expect(file_content).to include(content)
|
|
9
9
|
end
|
|
10
10
|
|
|
11
|
+
Then(/^I have the file(.* )and contents of this file should end with:$/) do |file, content|
|
|
12
|
+
file_content = read_from_app(file.strip)
|
|
13
|
+
expect(file_content).to end_with(content)
|
|
14
|
+
end
|
|
15
|
+
|
|
11
16
|
Then(/^I have the file(.* )and contents of this file should not include:$/) do |file, content|
|
|
12
17
|
file_content = read_from_app(file.strip)
|
|
13
18
|
expect(file_content).to_not include(content)
|
data/lib/pah/cli.rb
ADDED
data/lib/pah/commands.rb
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
module Pah
|
|
2
|
+
class Commands
|
|
3
|
+
class << self
|
|
4
|
+
|
|
5
|
+
def find_by_name(name)
|
|
6
|
+
COMMAND_BY_NAME[name.to_s.strip] || Pah::Commands::App
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
end
|
|
10
|
+
end
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
require 'pah/commands/version'
|
|
14
|
+
require 'pah/commands/help'
|
|
15
|
+
require 'pah/commands/app'
|
|
16
|
+
|
|
17
|
+
COMMAND_BY_NAME = {
|
|
18
|
+
"" => Pah::Commands::Help,
|
|
19
|
+
"-v" => Pah::Commands::Version,
|
|
20
|
+
"--version" => Pah::Commands::Version
|
|
21
|
+
}.freeze
|
|
22
|
+
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
require File.expand_path(File.join('..', '..', '..', 'lib', 'pah', 'version.rb'), File.dirname(__FILE__))
|
|
2
|
+
|
|
3
|
+
module Pah
|
|
4
|
+
class Commands
|
|
5
|
+
class App
|
|
6
|
+
|
|
7
|
+
def run(argv)
|
|
8
|
+
template_rb = File.expand_path(File.join('..', '..', '..', 'lib', 'pah', 'rails_template.rb'), File.dirname(__FILE__))
|
|
9
|
+
exec "rails _#{::Pah::RAILS_VERSION}_ new #{argv[0]} -T -m #{template_rb}"
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
end
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
module Pah
|
|
2
|
+
class Commands
|
|
3
|
+
class Help
|
|
4
|
+
BANNER = <<-HEREDOC
|
|
5
|
+
Usage: pah <project_name> Creates a new rails application using project_name
|
|
6
|
+
[--version|-v] Prompts the pah, rails and ruby version
|
|
7
|
+
HEREDOC
|
|
8
|
+
|
|
9
|
+
def run(*)
|
|
10
|
+
puts BANNER
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
end
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
require File.expand_path(File.join('..', '..', '..', 'lib', 'pah', 'version.rb'), File.dirname(__FILE__))
|
|
2
|
+
|
|
3
|
+
module Pah
|
|
4
|
+
class Commands
|
|
5
|
+
class Version
|
|
6
|
+
BANNER = <<-HEREDOC
|
|
7
|
+
Pah version: #{Pah::VERSION}
|
|
8
|
+
Rails version: #{Pah::RAILS_VERSION}
|
|
9
|
+
Ruby version: #{Pah::RUBY_VERSION}
|
|
10
|
+
HEREDOC
|
|
11
|
+
|
|
12
|
+
def run(*)
|
|
13
|
+
puts BANNER
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
end
|
data/lib/pah/files/Gemfile
CHANGED
|
@@ -2,40 +2,42 @@ source 'https://rubygems.org'
|
|
|
2
2
|
ruby 'RUBY_VERSION'
|
|
3
3
|
|
|
4
4
|
gem 'rails', 'RAILS_VERSION'
|
|
5
|
-
gem 'puma', '2.
|
|
6
|
-
gem 'secure_headers', '1.3.
|
|
5
|
+
gem 'puma', '2.10.2'
|
|
6
|
+
gem 'secure_headers', '1.3.4'
|
|
7
7
|
gem 'jquery-rails', '3.1.2'
|
|
8
|
-
gem 'turbolinks', '2.
|
|
9
|
-
gem 'jbuilder', '2.
|
|
8
|
+
gem 'turbolinks', '2.5.2'
|
|
9
|
+
gem 'jbuilder', '2.2.5'
|
|
10
10
|
gem 'slim-rails', '2.1.5'
|
|
11
11
|
gem 'pg', '0.17.1'
|
|
12
12
|
gem 'sass-rails', github: 'rails/sass-rails', ref: '57ec3397ff99655890895df29a7bf3f683410256'
|
|
13
|
-
gem 'coffee-rails', '4.0
|
|
13
|
+
gem 'coffee-rails', '4.1.0'
|
|
14
14
|
gem 'uglifier', '2.5.3'
|
|
15
|
-
gem 'simple_form', '3.1.0
|
|
15
|
+
gem 'simple_form', '3.1.0'
|
|
16
16
|
gem 'flutie', '2.0.0'
|
|
17
17
|
gem 'bourbon', '4.0.2'
|
|
18
|
-
gem 'neat', '1.
|
|
18
|
+
gem 'neat', '1.7.0'
|
|
19
19
|
gem 'bitters', '0.10.1'
|
|
20
20
|
gem 'refills', '0.0.2'
|
|
21
|
+
gem 'normalize-rails', '3.0.1'
|
|
21
22
|
|
|
22
23
|
group :production, :staging do
|
|
23
|
-
gem 'rails_12factor', '0.0.
|
|
24
|
+
gem 'rails_12factor', '0.0.3'
|
|
24
25
|
gem 'rack-canonical-host', '0.1.0'
|
|
25
26
|
gem 'rack-timeout', github: 'kch/rack-timeout', ref: '83ca9f5141c1fdcb626820b1601c406e3a3a560a'
|
|
26
|
-
gem 'newrelic_rpm', '3.9.
|
|
27
|
-
gem 'rollbar', '1.
|
|
27
|
+
gem 'newrelic_rpm', '3.9.7.266'
|
|
28
|
+
gem 'rollbar', '1.2.10'
|
|
29
|
+
gem 'librato-rails', '0.11.1'
|
|
28
30
|
end
|
|
29
31
|
|
|
30
32
|
group :development do
|
|
31
|
-
gem 'spring', '1.
|
|
32
|
-
gem 'foreman', '0.
|
|
33
|
-
gem 'jumpup', '0.0.
|
|
33
|
+
gem 'spring', '1.2.0'
|
|
34
|
+
gem 'foreman', '0.76.0'
|
|
35
|
+
gem 'jumpup', '0.0.8'
|
|
34
36
|
gem 'jumpup-heroku', '0.0.5'
|
|
35
37
|
gem 'better_errors', '2.0.0'
|
|
36
38
|
gem 'binding_of_caller', '0.7.2'
|
|
37
39
|
gem 'letter_opener', '1.2.0'
|
|
38
|
-
gem 'bullet', '4.
|
|
40
|
+
gem 'bullet', '4.14.0'
|
|
39
41
|
gem 'quiet_assets', '1.0.3'
|
|
40
42
|
end
|
|
41
43
|
|
|
@@ -43,17 +45,17 @@ group :test do
|
|
|
43
45
|
gem 'shoulda-matchers', '2.7.0', require: false
|
|
44
46
|
gem 'simplecov', '0.9.1', require: false
|
|
45
47
|
gem 'email_spec', '1.6.0'
|
|
46
|
-
gem 'capybara', '2.4.
|
|
48
|
+
gem 'capybara', '2.4.4'
|
|
47
49
|
gem 'poltergeist', '1.5.1'
|
|
48
50
|
gem 'vcr', '2.9.3'
|
|
49
|
-
gem 'webmock', '1.
|
|
51
|
+
gem 'webmock', '1.20.4'
|
|
50
52
|
gem 'database_cleaner', '1.3.0'
|
|
51
53
|
end
|
|
52
54
|
|
|
53
55
|
group :development, :test do
|
|
54
56
|
gem 'rspec-rails', '3.1.0'
|
|
55
|
-
gem 'factory_girl_rails', '4.
|
|
57
|
+
gem 'factory_girl_rails', '4.5.0'
|
|
56
58
|
gem 'pry-rails', '0.3.2'
|
|
57
|
-
gem 'dotenv-rails', '0.
|
|
59
|
+
gem 'dotenv-rails', '1.0.2'
|
|
58
60
|
gem 'awesome_print', '1.2.0'
|
|
59
61
|
end
|
|
@@ -9,7 +9,6 @@ html lang="pt"
|
|
|
9
9
|
= page_title(app_name: 'example')
|
|
10
10
|
|
|
11
11
|
link href="/favicon.ico" rel=("shortcut icon")
|
|
12
|
-
link rel="author" href="/humans.txt"
|
|
13
12
|
|
|
14
13
|
= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track' => true
|
|
15
14
|
= javascript_include_tag 'application', 'data-turbolinks-track' => true
|
data/lib/pah/rails_template.rb
CHANGED
|
@@ -26,7 +26,7 @@ runner.apply_n :capybara, 'Adding capybara helpers...'
|
|
|
26
26
|
runner.apply_n :generators, 'Adding generators...'
|
|
27
27
|
runner.apply_n :simple_form, 'Configuring simple_form...'
|
|
28
28
|
runner.apply_n :letter_opener, 'Adding letter_opener...'
|
|
29
|
-
runner.apply_n :
|
|
29
|
+
runner.apply_n :mandrill, 'Adding mandrill...'
|
|
30
30
|
runner.apply_n :bullet, 'Setting up bullet...'
|
|
31
31
|
runner.apply_n :locale, 'Adding locale...'
|
|
32
32
|
runner.apply_n :canonical_host, 'Configuring canonical hosts...'
|
|
@@ -7,6 +7,7 @@ module Pah
|
|
|
7
7
|
|
|
8
8
|
prepend_to_file application_css_path do
|
|
9
9
|
<<IMPORTS
|
|
10
|
+
@import 'normalize-rails';
|
|
10
11
|
@import 'bourbon';
|
|
11
12
|
@import 'base/base';
|
|
12
13
|
@import 'neat';
|
|
@@ -19,7 +20,7 @@ IMPORTS
|
|
|
19
20
|
system 'bundle exec bitters install'
|
|
20
21
|
end
|
|
21
22
|
|
|
22
|
-
gsub_file "#{css_path}base/_base.scss", %r{// @import
|
|
23
|
+
gsub_file "#{css_path}base/_base.scss", %r{// @import "grid-settings";}, '@import "grid-settings";'
|
|
23
24
|
|
|
24
25
|
system "mv #{application_css_path} #{css_path}application.css.scss"
|
|
25
26
|
|
|
@@ -5,7 +5,6 @@ module Pah
|
|
|
5
5
|
copy_static_file 'spec/support/acceptance_helpers.rb'
|
|
6
6
|
copy_static_file 'spec/support/acceptance_macros.rb'
|
|
7
7
|
copy_static_file 'spec/support/capybara.rb'
|
|
8
|
-
copy_static_file 'spec/support/shared_connection.rb'
|
|
9
8
|
copy_static_file 'spec/acceptance/dummy_spec.rb'
|
|
10
9
|
|
|
11
10
|
git add: 'spec/'
|
data/lib/pah/templates/heroku.rb
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
class HerokuApp < Rails::Generators::AppGenerator
|
|
2
2
|
DEFAULT_ADDONS = %w(heroku-postgresql:dev pgbackups:auto-month logentries
|
|
3
|
-
|
|
3
|
+
mandrill:starter rollbar newrelic:stark librato)
|
|
4
4
|
|
|
5
5
|
attr_reader :name, :description, :config
|
|
6
6
|
|
|
@@ -12,6 +12,7 @@ class HerokuApp < Rails::Generators::AppGenerator
|
|
|
12
12
|
add_secret_token
|
|
13
13
|
add_timezone_config
|
|
14
14
|
add_addons
|
|
15
|
+
add_librato_source
|
|
15
16
|
add_heroku_git_remote
|
|
16
17
|
check_canonical_domain
|
|
17
18
|
check_collaborators
|
|
@@ -49,6 +50,11 @@ class HerokuApp < Rails::Generators::AppGenerator
|
|
|
49
50
|
run "heroku config:set TZ=America/Sao_Paulo --app #{name}"
|
|
50
51
|
end
|
|
51
52
|
|
|
53
|
+
def add_librato_source
|
|
54
|
+
say 'Configuring LIBRATO_SOURCE environment variable on Heroku'.magenta
|
|
55
|
+
run "heroku config:set LIBRATO_SOURCE=#{name} --app #{name}"
|
|
56
|
+
end
|
|
57
|
+
|
|
52
58
|
def open
|
|
53
59
|
say 'Pushing application to heroku...'.magenta
|
|
54
60
|
|
|
@@ -58,6 +64,7 @@ class HerokuApp < Rails::Generators::AppGenerator
|
|
|
58
64
|
end
|
|
59
65
|
|
|
60
66
|
private
|
|
67
|
+
|
|
61
68
|
def run(command)
|
|
62
69
|
unless system(command)
|
|
63
70
|
fail "Error while running #{command}"
|
|
@@ -9,7 +9,7 @@ ActiveSupport::Inflector.inflections do |inflect|
|
|
|
9
9
|
end
|
|
10
10
|
API_ACRONYM
|
|
11
11
|
|
|
12
|
-
inject_into_file 'config/initializers/inflections.rb', api_acronym_config, after:
|
|
12
|
+
inject_into_file 'config/initializers/inflections.rb', api_acronym_config, after: /'RESTful'\n#\ end\n/, verbose: false
|
|
13
13
|
|
|
14
14
|
git add: 'config/initializers/inflections.rb'
|
|
15
15
|
git_commit 'Add API acronym to inflections.rb.'
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
module Pah
|
|
2
|
+
module Templates
|
|
3
|
+
class Mandrill < Pah::Template
|
|
4
|
+
def call
|
|
5
|
+
mandrill_config = <<MANDRILL
|
|
6
|
+
|
|
7
|
+
# Mandrill config
|
|
8
|
+
config.action_mailer.default_url_options = { host: ENV['CANONICAL_HOST'] }
|
|
9
|
+
config.action_mailer.smtp_settings = {
|
|
10
|
+
address: 'smtp.mandrillapp.com',
|
|
11
|
+
port: '587',
|
|
12
|
+
authentication: :plain,
|
|
13
|
+
user_name: ENV['MANDRILL_USERNAME'],
|
|
14
|
+
password: ENV['MANDRILL_APIKEY'],
|
|
15
|
+
domain: 'heroku.com'
|
|
16
|
+
}
|
|
17
|
+
MANDRILL
|
|
18
|
+
|
|
19
|
+
inject_into_file 'config/environments/production.rb', mandrill_config, before: /^end/, verbose: false
|
|
20
|
+
|
|
21
|
+
git add: 'config/environments/production.rb'
|
|
22
|
+
git_commit 'Add Mandrill config.'
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
data/lib/pah/templates/public.rb
CHANGED
|
@@ -4,18 +4,15 @@ module Pah
|
|
|
4
4
|
def call
|
|
5
5
|
inside 'public' do
|
|
6
6
|
remove_file 'robots.txt'
|
|
7
|
-
remove_file 'humans.txt'
|
|
8
7
|
remove_file '404.html'
|
|
9
8
|
remove_file '500.html'
|
|
10
9
|
end
|
|
11
10
|
|
|
12
11
|
copy_static_file 'public/robots.txt'
|
|
13
|
-
copy_static_file 'public/humans.txt'
|
|
14
12
|
copy_static_file 'public/404.html'
|
|
15
13
|
copy_static_file 'public/500.html'
|
|
16
14
|
|
|
17
15
|
git add: 'public/robots.txt'
|
|
18
|
-
git add: 'public/humans.txt'
|
|
19
16
|
git add: 'public/404.html'
|
|
20
17
|
git add: 'public/500.html'
|
|
21
18
|
|
data/lib/pah/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: pah
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.0.
|
|
4
|
+
version: 0.0.19
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- HE:labs
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2014-
|
|
11
|
+
date: 2014-12-12 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: rails
|
|
@@ -16,14 +16,14 @@ dependencies:
|
|
|
16
16
|
requirements:
|
|
17
17
|
- - '='
|
|
18
18
|
- !ruby/object:Gem::Version
|
|
19
|
-
version: 4.1.
|
|
19
|
+
version: 4.1.8
|
|
20
20
|
type: :runtime
|
|
21
21
|
prerelease: false
|
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
|
23
23
|
requirements:
|
|
24
24
|
- - '='
|
|
25
25
|
- !ruby/object:Gem::Version
|
|
26
|
-
version: 4.1.
|
|
26
|
+
version: 4.1.8
|
|
27
27
|
- !ruby/object:Gem::Dependency
|
|
28
28
|
name: colored
|
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -118,6 +118,7 @@ files:
|
|
|
118
118
|
- features/bullet.feature
|
|
119
119
|
- features/canonical_host.feature
|
|
120
120
|
- features/capybara.feature
|
|
121
|
+
- features/commands.feature
|
|
121
122
|
- features/database.feature
|
|
122
123
|
- features/env.feature
|
|
123
124
|
- features/gemfile.feature
|
|
@@ -129,6 +130,7 @@ files:
|
|
|
129
130
|
- features/layout.feature
|
|
130
131
|
- features/letter_opener.feature
|
|
131
132
|
- features/locale.feature
|
|
133
|
+
- features/mandrill.feature
|
|
132
134
|
- features/newrelic.feature
|
|
133
135
|
- features/public.feature
|
|
134
136
|
- features/puma.feature
|
|
@@ -143,7 +145,6 @@ files:
|
|
|
143
145
|
- features/runner.feature
|
|
144
146
|
- features/secret_token.feature
|
|
145
147
|
- features/secure_headers.feature
|
|
146
|
-
- features/sendgrid.feature
|
|
147
148
|
- features/simple_form.feature
|
|
148
149
|
- features/step_definitions/create_simple_app.rb
|
|
149
150
|
- features/step_definitions/file.rb
|
|
@@ -152,6 +153,11 @@ files:
|
|
|
152
153
|
- features/support/env.rb
|
|
153
154
|
- features/support/file_helpers.rb
|
|
154
155
|
- lib/pah.rb
|
|
156
|
+
- lib/pah/cli.rb
|
|
157
|
+
- lib/pah/commands.rb
|
|
158
|
+
- lib/pah/commands/app.rb
|
|
159
|
+
- lib/pah/commands/help.rb
|
|
160
|
+
- lib/pah/commands/version.rb
|
|
155
161
|
- lib/pah/configuration.rb
|
|
156
162
|
- lib/pah/files/.env
|
|
157
163
|
- lib/pah/files/.gitignore
|
|
@@ -175,7 +181,6 @@ files:
|
|
|
175
181
|
- lib/pah/files/lib/tasks/jumpup.rake
|
|
176
182
|
- lib/pah/files/public/404.html
|
|
177
183
|
- lib/pah/files/public/500.html
|
|
178
|
-
- lib/pah/files/public/humans.txt
|
|
179
184
|
- lib/pah/files/public/robots.txt
|
|
180
185
|
- lib/pah/files/spec/acceptance/dummy_spec.rb
|
|
181
186
|
- lib/pah/files/spec/rails_helper.rb
|
|
@@ -189,7 +194,6 @@ files:
|
|
|
189
194
|
- lib/pah/files/spec/support/http_basic_auth.rb
|
|
190
195
|
- lib/pah/files/spec/support/matchers.rb
|
|
191
196
|
- lib/pah/files/spec/support/random_timezone.rb
|
|
192
|
-
- lib/pah/files/spec/support/shared_connection.rb
|
|
193
197
|
- lib/pah/files/spec/support/suppress_log.rb
|
|
194
198
|
- lib/pah/files/spec/support/uploaded_file.rb
|
|
195
199
|
- lib/pah/files/spec/support/vcr.rb
|
|
@@ -213,6 +217,7 @@ files:
|
|
|
213
217
|
- lib/pah/templates/layout.rb
|
|
214
218
|
- lib/pah/templates/letter_opener.rb
|
|
215
219
|
- lib/pah/templates/locale.rb
|
|
220
|
+
- lib/pah/templates/mandrill.rb
|
|
216
221
|
- lib/pah/templates/newrelic.rb
|
|
217
222
|
- lib/pah/templates/public.rb
|
|
218
223
|
- lib/pah/templates/puma.rb
|
|
@@ -224,7 +229,6 @@ files:
|
|
|
224
229
|
- lib/pah/templates/ruby_env.rb
|
|
225
230
|
- lib/pah/templates/secret_token.rb
|
|
226
231
|
- lib/pah/templates/secure_headers.rb
|
|
227
|
-
- lib/pah/templates/sendgrid.rb
|
|
228
232
|
- lib/pah/templates/simple_form.rb
|
|
229
233
|
- lib/pah/version.rb
|
|
230
234
|
- pah.gemspec
|
|
@@ -240,7 +244,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
240
244
|
requirements:
|
|
241
245
|
- - ">="
|
|
242
246
|
- !ruby/object:Gem::Version
|
|
243
|
-
version: 2.1.
|
|
247
|
+
version: 2.1.5
|
|
244
248
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
245
249
|
requirements:
|
|
246
250
|
- - ">="
|
|
@@ -258,6 +262,7 @@ test_files:
|
|
|
258
262
|
- features/bullet.feature
|
|
259
263
|
- features/canonical_host.feature
|
|
260
264
|
- features/capybara.feature
|
|
265
|
+
- features/commands.feature
|
|
261
266
|
- features/database.feature
|
|
262
267
|
- features/env.feature
|
|
263
268
|
- features/gemfile.feature
|
|
@@ -269,6 +274,7 @@ test_files:
|
|
|
269
274
|
- features/layout.feature
|
|
270
275
|
- features/letter_opener.feature
|
|
271
276
|
- features/locale.feature
|
|
277
|
+
- features/mandrill.feature
|
|
272
278
|
- features/newrelic.feature
|
|
273
279
|
- features/public.feature
|
|
274
280
|
- features/puma.feature
|
|
@@ -283,7 +289,6 @@ test_files:
|
|
|
283
289
|
- features/runner.feature
|
|
284
290
|
- features/secret_token.feature
|
|
285
291
|
- features/secure_headers.feature
|
|
286
|
-
- features/sendgrid.feature
|
|
287
292
|
- features/simple_form.feature
|
|
288
293
|
- features/step_definitions/create_simple_app.rb
|
|
289
294
|
- features/step_definitions/file.rb
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
module ActiveRecord
|
|
2
|
-
class Base
|
|
3
|
-
mattr_accessor :shared_connection
|
|
4
|
-
@@shared_connection = nil
|
|
5
|
-
|
|
6
|
-
def self.connection
|
|
7
|
-
@@shared_connection || retrieve_connection
|
|
8
|
-
end
|
|
9
|
-
end
|
|
10
|
-
end
|
|
11
|
-
|
|
12
|
-
# Forces all threads to share the same connection. This works on
|
|
13
|
-
# Capybara because it starts the web server in a thread.
|
|
14
|
-
ActiveRecord::Base.shared_connection = ActiveRecord::Base.connection
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
module Pah
|
|
2
|
-
module Templates
|
|
3
|
-
class Sendgrid < Pah::Template
|
|
4
|
-
def call
|
|
5
|
-
sendgrid_config = <<SENDGRID
|
|
6
|
-
|
|
7
|
-
# SendGrid config
|
|
8
|
-
config.action_mailer.default_url_options = { host: ENV['CANONICAL_HOST'] }
|
|
9
|
-
config.action_mailer.smtp_settings = {
|
|
10
|
-
address: 'smtp.sendgrid.net',
|
|
11
|
-
port: '587',
|
|
12
|
-
authentication: :plain,
|
|
13
|
-
user_name: ENV['SENDGRID_USERNAME'],
|
|
14
|
-
password: ENV['SENDGRID_PASSWORD'],
|
|
15
|
-
domain: 'heroku.com',
|
|
16
|
-
enable_starttls_auto: true
|
|
17
|
-
}
|
|
18
|
-
SENDGRID
|
|
19
|
-
|
|
20
|
-
inject_into_file 'config/environments/production.rb', sendgrid_config, before: /^end/, verbose: false
|
|
21
|
-
|
|
22
|
-
git add: 'config/environments/production.rb'
|
|
23
|
-
git_commit 'Add sendgrid config.'
|
|
24
|
-
end
|
|
25
|
-
end
|
|
26
|
-
end
|
|
27
|
-
end
|