happy_seed 0.0.16 → 0.0.17
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/Rakefile +45 -0
- data/happy_seed.rb +36 -117
- data/happy_seed.txt +55 -0
- data/lib/generators/happy_seed/admin/admin_generator.rb +13 -9
- data/lib/generators/happy_seed/angular_install/angular_install_generator.rb +9 -1
- data/lib/generators/happy_seed/angular_install/templates/app/assets/javascripts/angular_app.js.coffee.erb +9 -9
- data/lib/generators/happy_seed/angular_view/templates/app/assets/javascripts/controllers/controller.js.coffee +1 -1
- data/lib/generators/happy_seed/api/api_generator.rb +9 -9
- data/lib/generators/happy_seed/base/base_generator.rb +65 -14
- data/lib/generators/happy_seed/base/templates/.bowerrc +3 -0
- data/lib/generators/happy_seed/base/templates/Procfile +1 -1
- data/lib/generators/happy_seed/base/templates/app/views/setup/index.html.haml +0 -2
- data/lib/generators/happy_seed/base/templates/config/puma.rb +15 -0
- data/lib/generators/happy_seed/base/templates/docs/README.00.base.rdoc +1 -1
- data/lib/generators/happy_seed/base/templates/spec/requests/setup_spec.rb +11 -0
- data/lib/generators/happy_seed/bootstrap/bootstrap_generator.rb +13 -1
- data/lib/generators/happy_seed/devise/devise_generator.rb +35 -12
- data/lib/generators/happy_seed/devise_invitable/devise_invitable_generator.rb +10 -10
- data/lib/generators/happy_seed/facebook/facebook_generator.rb +8 -1
- data/lib/generators/happy_seed/github/github_generator.rb +8 -2
- data/lib/generators/happy_seed/googleoauth/googleoauth_generator.rb +8 -2
- data/lib/generators/happy_seed/happy_seed_generator.rb +28 -16
- data/lib/generators/happy_seed/instagram/instagram_generator.rb +8 -2
- data/lib/generators/happy_seed/jazz_hands/jazz_hands_generator.rb +8 -1
- data/lib/generators/happy_seed/omniauth/omniauth_generator.rb +11 -24
- data/lib/generators/happy_seed/splash/splash_generator.rb +8 -19
- data/lib/generators/happy_seed/static/templates/source/stylesheets/application.css.scss +10 -13
- data/lib/generators/happy_seed/static_blog/templates/Gemfile.lock +45 -49
- data/lib/generators/happy_seed/static_blog/templates/source/stylesheets/application.css.scss +13 -8
- data/lib/generators/happy_seed/twitter/templates/add_secret_token_to_identity.rb +5 -0
- data/lib/generators/happy_seed/twitter/twitter_generator.rb +26 -2
- data/lib/happy_seed/cli.rb +2 -2
- data/lib/happy_seed/version.rb +1 -1
- data/test/dummy/db/test.sqlite3 +0 -0
- data/test/dummy/log/test.log +15 -0
- metadata +12 -5
- data/lib/generators/happy_seed/base/templates/config/unicorn.rb +0 -33
- data/lib/generators/happy_seed/static/templates/Gemfile.lock +0 -158
@@ -1 +1 @@
|
|
1
|
-
web: bundle exec
|
1
|
+
web: bundle exec puma -C config/puma.rb
|
@@ -0,0 +1,15 @@
|
|
1
|
+
workers Integer(ENV['WEB_CONCURRENCY'] || 2)
|
2
|
+
threads_count = Integer(ENV['MAX_THREADS'] || 5)
|
3
|
+
threads threads_count, threads_count
|
4
|
+
|
5
|
+
preload_app!
|
6
|
+
|
7
|
+
rackup DefaultRackup
|
8
|
+
port ENV['PORT'] || 3000
|
9
|
+
environment ENV['RACK_ENV'] || 'development'
|
10
|
+
|
11
|
+
on_worker_boot do
|
12
|
+
# Worker specific setup for Rails 4.1+
|
13
|
+
# See: https://devcenter.heroku.com/articles/deploying-rails-applications-with-the-puma-web-server#on-worker-boot
|
14
|
+
ActiveRecord::Base.establish_connection
|
15
|
+
end
|
@@ -5,7 +5,7 @@ HappySeed Base Install
|
|
5
5
|
|
6
6
|
The `happy_seed` application template sets up `haml`, `meta-tags`, disables `turbolinks`, and installs the `happy_seed` generators into your application.
|
7
7
|
|
8
|
-
The `happy_seed:base` generator installs `dotenv-rails`, `
|
8
|
+
The `happy_seed:base` generator installs `dotenv-rails`, `puma`, http site authentication, and the `setup_controller`.
|
9
9
|
|
10
10
|
/setup is used to see the `happy_seed` documentation for each of the installed generators, and copies things into the rails doc directory. The `setup_controller` is only visible locally.
|
11
11
|
|
@@ -0,0 +1,11 @@
|
|
1
|
+
require 'rails_helper'
|
2
|
+
|
3
|
+
RSpec.describe "Setup", type: :request do
|
4
|
+
describe "GET /setups" do
|
5
|
+
it "Renders the setup page locally" do
|
6
|
+
get setup_path
|
7
|
+
expect(response).to have_http_status(200)
|
8
|
+
expect(response.body).to include("Mailer Previews")
|
9
|
+
end
|
10
|
+
end
|
11
|
+
end
|
@@ -5,7 +5,13 @@ module HappySeed
|
|
5
5
|
class BootstrapGenerator < HappySeedGenerator
|
6
6
|
source_root File.expand_path('../templates', __FILE__)
|
7
7
|
|
8
|
-
def
|
8
|
+
def self.fingerprint
|
9
|
+
gem_available? 'bootstrap-sass'
|
10
|
+
end
|
11
|
+
|
12
|
+
def install_bootstrap
|
13
|
+
return if already_installed
|
14
|
+
|
9
15
|
gem 'bootstrap-sass'
|
10
16
|
gem 'modernizr-rails'
|
11
17
|
gem 'meta-tags', :require => 'meta_tags'
|
@@ -24,6 +30,12 @@ module HappySeed
|
|
24
30
|
directory 'lib'
|
25
31
|
directory 'docs'
|
26
32
|
|
33
|
+
inject_into_file 'app/views/setup/index.html.haml', after: "%body\n" do <<-'HAML'
|
34
|
+
= render partial: "application/header"
|
35
|
+
= render partial: "application/flashes"
|
36
|
+
HAML
|
37
|
+
end
|
38
|
+
|
27
39
|
inject_into_file 'config/application.rb', before: "end\nend\n" do <<-'RUBY'
|
28
40
|
config.action_view.field_error_proc = Proc.new { |html_tag, instance| html_tag }
|
29
41
|
config.generators do |g|
|
@@ -1,14 +1,19 @@
|
|
1
|
+
require 'generators/happy_seed/happy_seed_generator'
|
2
|
+
require 'generators/happy_seed/bootstrap/bootstrap_generator'
|
3
|
+
|
1
4
|
module HappySeed
|
2
5
|
module Generators
|
3
|
-
class DeviseGenerator <
|
6
|
+
class DeviseGenerator < HappySeedGenerator
|
4
7
|
source_root File.expand_path('../templates', __FILE__)
|
5
8
|
|
6
|
-
def
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
def self.fingerprint
|
10
|
+
gem_available? 'devise'
|
11
|
+
end
|
12
|
+
|
13
|
+
def install_devise
|
14
|
+
return if already_installed
|
15
|
+
|
16
|
+
require_generator BootstrapGenerator
|
12
17
|
|
13
18
|
gem 'devise', '~> 3.4'
|
14
19
|
|
@@ -16,10 +21,16 @@ module HappySeed
|
|
16
21
|
run "bundle install --without production"
|
17
22
|
end
|
18
23
|
|
19
|
-
run '
|
20
|
-
|
21
|
-
|
22
|
-
|
24
|
+
run 'bin/spring stop'
|
25
|
+
|
26
|
+
puts "Devise: #{self.class.fingerprint}"
|
27
|
+
|
28
|
+
Bundler.with_clean_env do
|
29
|
+
run 'rails generate devise:install'
|
30
|
+
run 'rails generate devise User'
|
31
|
+
run 'rails generate devise:views'
|
32
|
+
end
|
33
|
+
|
23
34
|
if gem_available?( "haml-rails" )
|
24
35
|
remove_file 'app/views/devise/registrations/new.html.erb'
|
25
36
|
remove_file 'app/views/devise/registrations/edit.html.erb'
|
@@ -32,12 +43,24 @@ module HappySeed
|
|
32
43
|
|
33
44
|
begin
|
34
45
|
prepend_to_file 'spec/spec_helper.rb', "require 'devise'\n"
|
46
|
+
prepend_to_file 'spec/spec_helper.rb', "require_relative 'support/controller_helpers'\n"
|
35
47
|
inject_into_file 'spec/spec_helper.rb', "\n config.include Devise::TestHelpers, type: :controller\n", :before => "\nend\n"
|
36
|
-
|
48
|
+
inject_into_file 'spec/spec_helper.rb', "\n config.include Warden::Test::Helpers, type: :feature\n config.include ControllerHelpers, type: :controller\n Warden.test_mode!\n", :before => "\nend\n"
|
37
49
|
rescue
|
38
50
|
say_status :spec, "Unable to add devise helpers to spec_helper.rb", :red
|
39
51
|
end
|
40
52
|
|
53
|
+
begin
|
54
|
+
inject_into_file 'spec/rails_helper.rb', "\n config.include Devise::TestHelpers, type: :controller\n config.include Warden::Test::Helpers, type: :feature\n", :after => "FactoryGirl::Syntax::Methods\n"
|
55
|
+
rescue
|
56
|
+
say_status :spec, "Unable to add devise helpers to rails_helper.rb", :red
|
57
|
+
end
|
58
|
+
|
59
|
+
append_to_file "features/support/env.rb", "
|
60
|
+
Warden.test_mode!
|
61
|
+
World(Warden::Test::Helpers)
|
62
|
+
After{ Warden.test_reset! }"
|
63
|
+
|
41
64
|
directory 'app'
|
42
65
|
directory 'docs'
|
43
66
|
directory 'test'
|
@@ -1,18 +1,18 @@
|
|
1
|
+
require 'generators/happy_seed/devise/devise_generator'
|
2
|
+
|
1
3
|
module HappySeed
|
2
4
|
module Generators
|
3
|
-
class DeviseInvitableGenerator <
|
5
|
+
class DeviseInvitableGenerator < HappySeedGenerator
|
4
6
|
source_root File.expand_path('../templates', __FILE__)
|
5
7
|
|
8
|
+
def self.fingerprint
|
9
|
+
gem_available? 'devise_invitable'
|
10
|
+
end
|
11
|
+
|
6
12
|
def install_device_invitable
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
if yes?( "Run happy_seed:devise now?" )
|
11
|
-
generate "happy_seed:devise"
|
12
|
-
else
|
13
|
-
exit
|
14
|
-
end
|
15
|
-
end
|
13
|
+
return if already_installed
|
14
|
+
|
15
|
+
require_generator DeviseGenerator
|
16
16
|
|
17
17
|
gem 'devise_invitable'
|
18
18
|
|
@@ -1,3 +1,4 @@
|
|
1
|
+
require 'generators/happy_seed/omniauth/omniauth_generator'
|
1
2
|
require 'generators/happy_seed/happy_seed_generator'
|
2
3
|
|
3
4
|
module HappySeed
|
@@ -5,8 +6,14 @@ module HappySeed
|
|
5
6
|
class FacebookGenerator < HappySeedGenerator
|
6
7
|
source_root File.expand_path('../templates', __FILE__)
|
7
8
|
|
9
|
+
def self.fingerprint
|
10
|
+
gem_available? 'omniauth-facebook'
|
11
|
+
end
|
12
|
+
|
8
13
|
def install_facebook
|
9
|
-
|
14
|
+
return if already_installed
|
15
|
+
|
16
|
+
require_generator OmniauthGenerator
|
10
17
|
|
11
18
|
gem 'omniauth-facebook'
|
12
19
|
|
@@ -1,12 +1,18 @@
|
|
1
|
-
require 'generators/happy_seed/
|
1
|
+
require 'generators/happy_seed/omniauth/omniauth_generator'
|
2
2
|
|
3
3
|
module HappySeed
|
4
4
|
module Generators
|
5
5
|
class GithubGenerator < HappySeedGenerator
|
6
6
|
source_root File.expand_path('../templates', __FILE__)
|
7
7
|
|
8
|
+
def self.fingerprint
|
9
|
+
gem_available? 'omniauth-github'
|
10
|
+
end
|
11
|
+
|
8
12
|
def install_github
|
9
|
-
|
13
|
+
return if already_installed
|
14
|
+
|
15
|
+
require_generator OmniauthGenerator
|
10
16
|
|
11
17
|
gem 'omniauth-github'
|
12
18
|
gem 'github_api'
|
@@ -1,4 +1,4 @@
|
|
1
|
-
require 'generators/happy_seed/
|
1
|
+
require 'generators/happy_seed/omniauth/omniauth_generator'
|
2
2
|
|
3
3
|
module HappySeed
|
4
4
|
module Generators
|
@@ -6,8 +6,14 @@ module HappySeed
|
|
6
6
|
include Rails::Generators::Migration
|
7
7
|
source_root File.expand_path('../templates', __FILE__)
|
8
8
|
|
9
|
+
def self.fingerprint
|
10
|
+
gem_available? 'omniauth-google-oauth2'
|
11
|
+
end
|
12
|
+
|
9
13
|
def install_facebook
|
10
|
-
|
14
|
+
return if already_installed
|
15
|
+
|
16
|
+
require_generator OmniauthGenerator
|
11
17
|
|
12
18
|
gem 'omniauth-google-oauth2'
|
13
19
|
gem 'google-api-client', require: "google/api_client"
|
@@ -1,20 +1,24 @@
|
|
1
|
+
ENV['DISABLE_SPRING'] = 'true'
|
2
|
+
|
1
3
|
module HappySeed
|
2
4
|
module Generators
|
3
5
|
class HappySeedGenerator < Rails::Generators::Base
|
4
6
|
protected
|
5
|
-
def
|
6
|
-
|
7
|
-
|
7
|
+
def already_installed
|
8
|
+
installed = self.class.fingerprint
|
9
|
+
puts "#{self.class.to_s} has already been run" if installed
|
10
|
+
installed
|
11
|
+
end
|
8
12
|
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
exit
|
13
|
-
end
|
14
|
-
end
|
13
|
+
def fingerprint
|
14
|
+
raise "Fingerprint not implemented in #{self.to_s}"
|
15
|
+
end
|
15
16
|
|
16
|
-
|
17
|
-
|
17
|
+
def require_generator kls
|
18
|
+
if !kls.fingerprint
|
19
|
+
name = kls.to_s.gsub( /.*::/, "" ).gsub( /Generator/, "" ).underscore
|
20
|
+
puts "Running dependancy happy_seed:#{name}"
|
21
|
+
generate "happy_seed:#{name}"
|
18
22
|
end
|
19
23
|
end
|
20
24
|
|
@@ -49,11 +53,19 @@ RUBY
|
|
49
53
|
end
|
50
54
|
|
51
55
|
def gem_available?(name)
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
56
|
+
self.gem_available?( name )
|
57
|
+
end
|
58
|
+
|
59
|
+
def self.gem_available?( name )
|
60
|
+
Bundler.with_clean_env do
|
61
|
+
begin
|
62
|
+
Gem::Specification.find_by_name(name)
|
63
|
+
rescue Gem::LoadError
|
64
|
+
false
|
65
|
+
rescue
|
66
|
+
Gem.available?(name)
|
67
|
+
end
|
68
|
+
end
|
57
69
|
end
|
58
70
|
|
59
71
|
def add_env( key )
|
@@ -1,12 +1,18 @@
|
|
1
|
-
require 'generators/happy_seed/
|
1
|
+
require 'generators/happy_seed/omniauth/omniauth_generator'
|
2
2
|
|
3
3
|
module HappySeed
|
4
4
|
module Generators
|
5
5
|
class InstagramGenerator < HappySeedGenerator
|
6
6
|
source_root File.expand_path('../templates', __FILE__)
|
7
7
|
|
8
|
+
def self.fingerprint
|
9
|
+
gem_available? 'omniauth-instagram'
|
10
|
+
end
|
11
|
+
|
8
12
|
def install_instagram
|
9
|
-
|
13
|
+
return if already_installed
|
14
|
+
|
15
|
+
require_generator OmniauthGenerator
|
10
16
|
|
11
17
|
gem 'omniauth-instagram'
|
12
18
|
gem 'instagram'
|
@@ -1,9 +1,16 @@
|
|
1
|
+
require 'generators/happy_seed/happy_seed_generator'
|
2
|
+
|
1
3
|
module HappySeed
|
2
4
|
module Generators
|
3
|
-
class JazzHandsGenerator <
|
5
|
+
class JazzHandsGenerator < HappySeedGenerator
|
4
6
|
source_root File.expand_path('../templates', __FILE__)
|
5
7
|
|
8
|
+
def self.fingerprint
|
9
|
+
gem_available? 'jazz_hands'
|
10
|
+
end
|
11
|
+
|
6
12
|
def install_jazz_hands
|
13
|
+
return if already_installed
|
7
14
|
|
8
15
|
# gem 'jazz_hands', :github => 'nixme/jazz_hands', :branch => 'bring-your-own-debugger', :groups => [:development, :test]
|
9
16
|
gem 'jazz_hands', :github => 'danrabinowitz/jazz_hands', :branch => 'use-newer-version-of-pry', :groups => [:development, :test]
|
@@ -1,26 +1,21 @@
|
|
1
|
+
require 'generators/happy_seed/devise/devise_generator'
|
2
|
+
|
1
3
|
module HappySeed
|
2
4
|
module Generators
|
3
|
-
class OmniauthGenerator <
|
5
|
+
class OmniauthGenerator < HappySeedGenerator
|
4
6
|
include Rails::Generators::Migration
|
5
7
|
source_root File.expand_path('../templates', __FILE__)
|
6
8
|
|
7
|
-
def
|
8
|
-
|
9
|
-
|
10
|
-
# return
|
11
|
-
# end
|
9
|
+
def self.fingerprint
|
10
|
+
gem_available?( 'omniauth')
|
11
|
+
end
|
12
12
|
|
13
|
-
|
13
|
+
def install_omniauth
|
14
|
+
return if already_installed
|
14
15
|
|
15
|
-
|
16
|
-
puts "The omniauth generator requires devise"
|
16
|
+
require_generator DeviseGenerator
|
17
17
|
|
18
|
-
|
19
|
-
generate "happy_seed:devise"
|
20
|
-
else
|
21
|
-
exit
|
22
|
-
end
|
23
|
-
end
|
18
|
+
migration_template("make_email_nullable.rb", "db/migrate/make_email_nullable.rb" )
|
24
19
|
|
25
20
|
gem 'omniauth'
|
26
21
|
|
@@ -50,15 +45,7 @@ module HappySeed
|
|
50
45
|
directory "docs"
|
51
46
|
end
|
52
47
|
|
53
|
-
private
|
54
|
-
def gem_available?(name)
|
55
|
-
Gem::Specification.find_by_name(name)
|
56
|
-
rescue Gem::LoadError
|
57
|
-
false
|
58
|
-
rescue
|
59
|
-
Gem.available?(name)
|
60
|
-
end
|
61
|
-
|
48
|
+
private
|
62
49
|
def self.next_migration_number(dir)
|
63
50
|
Time.now.utc.strftime("%Y%m%d%H%M%S")
|
64
51
|
end
|
@@ -1,20 +1,18 @@
|
|
1
|
-
require 'generators/happy_seed/
|
1
|
+
require 'generators/happy_seed/bootstrap/bootstrap_generator'
|
2
2
|
|
3
3
|
module HappySeed
|
4
4
|
module Generators
|
5
5
|
class SplashGenerator < HappySeedGenerator
|
6
6
|
source_root File.expand_path('../templates', __FILE__)
|
7
7
|
|
8
|
+
def self.fingerprint
|
9
|
+
File.exists?( "docs/README.02.splash.rdoc" )
|
10
|
+
end
|
11
|
+
|
8
12
|
def install_landing_page
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
if yes?( "Run happy_seed:bootstrap now?" )
|
13
|
-
generate "happy_seed:bootstrap"
|
14
|
-
else
|
15
|
-
exit
|
16
|
-
end
|
17
|
-
end
|
13
|
+
return if already_installed
|
14
|
+
|
15
|
+
require_generator BootstrapGenerator
|
18
16
|
|
19
17
|
gem 'gibbon'
|
20
18
|
|
@@ -43,15 +41,6 @@ module HappySeed
|
|
43
41
|
say_status :env, "Unable to add template .env files", :red
|
44
42
|
end
|
45
43
|
end
|
46
|
-
|
47
|
-
private
|
48
|
-
def gem_available?(name)
|
49
|
-
Gem::Specification.find_by_name(name)
|
50
|
-
rescue Gem::LoadError
|
51
|
-
false
|
52
|
-
rescue
|
53
|
-
Gem.available?(name)
|
54
|
-
end
|
55
44
|
end
|
56
45
|
end
|
57
46
|
end
|