orats 0.6.2 → 0.6.3

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: eab03ca425d310966be31c40d5665307545cd274
4
- data.tar.gz: 34739793810ba50d861e41adb375b413116fee8e
3
+ metadata.gz: 84783844b3e3057b3d2954896e9cbeede3be6194
4
+ data.tar.gz: a7e7d5a60229a20cc69010bcaf1d0633c96f9f2b
5
5
  SHA512:
6
- metadata.gz: 98ae72b09b93e0ca2cd85f9d4370e23be4ea79c4cca892d548c36c4e1919c71969b75ecc1f3c562f1019a40e0d67afe0b4086bf0f4edd1cb805bfc7990bbf7a3
7
- data.tar.gz: 2240f9eba87c08ae51b681ef77d55d31ee1815dcb274ea96f5c1ec0a61956766e6bb4da3fd5731167379af8f8ef25418e161298458ccd24feebc37208cebac91
6
+ metadata.gz: f3b070ff1ebbd3ba5e1a32e04b07c3c6762bf6fa4163c09db19dc475a2d8a91a8ad1c7d4da5f6278347366a0e79991091be70dddb493baee8365671970f7c060
7
+ data.tar.gz: 29bd81f9ef9dc0ebfee71c717f654270e2869e1678827975ea93fedc842c10feec0730c2a5556c19ebfc3a98778ce7494508bd2847878ca2546dbe706b314e0f
data/README.md CHANGED
@@ -75,7 +75,7 @@ running `orats <command name> help` from your terminal. You can also type `orats
75
75
  - Optionally takes: `--template []`
76
76
  - Project features:
77
77
  - Optionally takes: `--skip-extras [false]`
78
- - Optionally takes: `--skip-foreman-start [false]`
78
+ - Optionally takes: `--skip-server-start [false]`
79
79
  - Ansible features:
80
80
  - Optionally takes: `--sudo-password []`
81
81
  - Optionally takes: `--skip-galaxy [false]`
@@ -134,7 +134,7 @@ it includes these features and when I do not want a specific thing it is much qu
134
134
  - Use sidekiq as a background worker.
135
135
  - Use puma as the server with settings capable of doing phased restarts.
136
136
  - Use foreman in development mode to manage starting both the rails server using puma and sidekiq.
137
- - Add a rake task to handle upgrades using the `backup` gem.
137
+ - Add a rake task to handle backups using the `backup` gem.
138
138
  - Set the production asset precompiler to include fonts and png files.
139
139
  - Set the production logger to rotate the logs daily.
140
140
  - Set the timezone to EST.
@@ -14,7 +14,7 @@ module Orats
14
14
  option :auth, type: :boolean, default: false, aliases: '-a'
15
15
  option :template, default: '', aliases: '-m'
16
16
  option :skip_extras, type: :boolean, default: false, aliases: '-E'
17
- option :skip_foreman_start, type: :boolean, default: false, aliases: '-F'
17
+ option :skip_server_start, type: :boolean, default: false, aliases: '-F'
18
18
  option :sudo_password, default: '', aliases: '-s'
19
19
  option :skip_galaxy, type: :boolean, default: false, aliases: '-G'
20
20
  desc 'new TARGET_PATH [options]', ''
@@ -45,7 +45,7 @@ module Orats
45
45
 
46
46
  `--skip-extras` skip creating the services directory and ansible inventory/secrets [false]
47
47
 
48
- `--skip-foreman-start` skip automatically running puma and sidekiq [false]
48
+ `--skip-server-start` skip automatically running puma and sidekiq [false]
49
49
 
50
50
  Ansible features:
51
51
 
@@ -71,6 +71,7 @@ module Orats
71
71
  end
72
72
 
73
73
  option :skip_data, type: :boolean, default: false, aliases: '-D'
74
+ option :redis_password, default: '', aliases: '-d'
74
75
  desc 'nuke TARGET_PATH [options]', ''
75
76
  long_desc <<-D
76
77
  `orats nuke target_path` will delete the directory and optionally all data associated to it.
@@ -78,6 +79,8 @@ module Orats
78
79
  Options:
79
80
 
80
81
  `--skip-data` will skip deleting app specific postgres databases and redis namespaces [false]
82
+
83
+ `--redis-password` to supply your development redis password []
81
84
  D
82
85
  def nuke(target_path)
83
86
  Commands::Nuke.new(target_path, options).init
@@ -52,15 +52,8 @@ module Orats
52
52
  log_thor_task 'shell', 'Creating ansible secrets'
53
53
  run "mkdir #{secrets_path}"
54
54
 
55
- if @options[:redis_password].empty?
56
- run "touch #{secrets_path}/redis_password"
57
- else
58
- save_secret_string "#{secrets_path}/redis_password"
59
- gsub_file "#{@target_path}/#{fix_path_for_user(Commands::Common::RELATIVE_PATHS[:inventory])}",
60
- 'redis_password: false', 'redis_password: true'
61
- end
62
-
63
55
  save_secret_string "#{secrets_path}/postgres_password"
56
+ save_secret_string "#{secrets_path}/redis_password"
64
57
  save_secret_string "#{secrets_path}/mail_password"
65
58
  save_secret_string "#{secrets_path}/rails_token"
66
59
  save_secret_string "#{secrets_path}/devise_token"
@@ -1,7 +1,7 @@
1
1
  require 'orats/commands/common'
2
2
  require 'orats/commands/new/ansible'
3
3
  require 'orats/commands/new/rails'
4
- require 'orats/commands/new/foreman'
4
+ require 'orats/commands/new/server'
5
5
 
6
6
  module Orats
7
7
  module Commands
@@ -9,7 +9,7 @@ module Orats
9
9
  class Exec < Commands::Common
10
10
  include Ansible
11
11
  include Rails
12
- include Foreman
12
+ include Server
13
13
 
14
14
  def initialize(target_path = '', options = {})
15
15
  super
@@ -28,6 +28,7 @@ module Orats
28
28
  spring_binstub
29
29
 
30
30
  create_and_migrate_database
31
+ run_rake 'orats:favicons'
31
32
  end
32
33
 
33
34
  if @options[:auth]
@@ -40,7 +41,7 @@ module Orats
40
41
 
41
42
  custom_rails_template unless @options[:template].empty?
42
43
 
43
- foreman_start unless @options[:skip_foreman_start]
44
+ server_start unless @options[:skip_server_start]
44
45
  end
45
46
 
46
47
  private
@@ -31,11 +31,9 @@ module Orats
31
31
  end
32
32
 
33
33
  def gsub_redis_info
34
- log_thor_task 'root', 'Adding the redis password'
35
- gsub_file "#{@active_path}/config/initializers/sidekiq.rb", '//', "//:#{ENV['CACHE_PASSWORD']}@"
36
- gsub_file "#{@active_path}/.env", 'HE_PASSWORD: ', "HE_PASSWORD: #{@options[:redis_password]}"
34
+ log_thor_task 'root', 'Changing the redis password'
35
+ gsub_file "#{@active_path}/.env", 'HE_PASSWORD: ""', "HE_PASSWORD: #{@options[:redis_password]}"
37
36
  gsub_file "#{@active_path}/.env", 'CACHE_HOST: localhost', "CACHE_HOST: #{@options[:redis_location]}"
38
- gsub_file "#{@active_path}/config/application.rb", '# pass', 'pass'
39
37
 
40
38
  git_commit 'Add the redis password'
41
39
  end
@@ -4,9 +4,9 @@ require 'timeout'
4
4
  module Orats
5
5
  module Commands
6
6
  module New
7
- module Foreman
8
- def foreman_start
9
- @options[:skip_foreman_start] ? message = 'Start your' : message = 'Starting'
7
+ module Server
8
+ def server_start
9
+ @options[:skip_server_start] ? message = 'Start your' : message = 'Starting'
10
10
 
11
11
  puts '', '='*80
12
12
  log_status_top 'action', "#{message} server with the following commands", :cyan
@@ -60,7 +60,21 @@ module Orats
60
60
 
61
61
  def nuke_redis(namespace)
62
62
  log_thor_task 'root', 'Removing redis keys'
63
- run "redis-cli KEYS '#{namespace}:*' | xargs --delim='\n' redis-cli DEL"
63
+
64
+ while not_able_to_nuke_redis?(@options[:redis_password], namespace)
65
+ log_status_top 'error', "The redis password you supplied was incorrect\n", :red
66
+ new_password = ask('Enter the correct password or CTRL+C to quit:', :cyan)
67
+ puts
68
+
69
+ break unless not_able_to_nuke_redis?(new_password, namespace)
70
+ end
71
+ end
72
+
73
+ def not_able_to_nuke_redis?(password, namespace)
74
+ password.empty? ? redis_password = '' : redis_password = "-a #{password}"
75
+ redis_out = run("redis-cli #{redis_password} KEYS '#{namespace}:*' | xargs --delim='\n' redis-cli #{redis_password} DEL", capture: true)
76
+
77
+ redis_out.include?('NOAUTH Authentication required')
64
78
  end
65
79
 
66
80
  def nuke_directory
@@ -1,5 +1,5 @@
1
1
  # =====================================================================================================
2
- # Template for generating an opinionated base Rails 4.1.0 project using Ruby 2.1.0
2
+ # Template for generating an opinionated base Rails 4.1.0 project using Ruby 2.1.2
3
3
  # =====================================================================================================
4
4
 
5
5
  # ----- Helper functions and variables ----------------------------------------------------------------
@@ -51,16 +51,12 @@ append_to_file '.gitignore' do <<-TEXT
51
51
  *~
52
52
  .idea/
53
53
 
54
- # Ignore the main environment file.
54
+ # Ignore the dotenv file.
55
55
  .env
56
56
 
57
57
  # Ignore app specific folders.
58
58
  /vendor/bundle
59
59
  /public/assets/*
60
-
61
- # Ignore backup paths.
62
- /lib/backup/log/*
63
- /lib/backup/tmp/*
64
60
  TEXT
65
61
  end
66
62
 
@@ -69,43 +65,24 @@ git commit: "-m 'Add common OS and editor files to the .gitignore file'"
69
65
 
70
66
  # ----- Add a bundler config --------------------------------------------------------------------
71
67
 
72
- puts
73
- say_status 'bundler', 'Creating bundler config...', :yellow
74
- puts '-'*80, ''; sleep 0.25
75
-
76
- file '.bundler/config' do <<-CODE
77
- ---
78
- BUNDLE_WITHOUT: production:staging
79
- CODE
80
- end
81
-
82
- git add: '-A'
83
- git commit: "-m 'Add .bundler/config to ignore production:staging'"
84
-
85
- # ----- Create a few root files -----------------------------------------------------------------------
86
-
87
- puts
88
- say_status 'root', 'Creating root files...', :yellow
89
- puts '-'*80, ''; sleep 0.25
90
-
91
- file '.ruby-version', '2.1.2'
92
-
93
- git add: '-A'
94
- git commit: "-m 'Add .ruby-version file for common ruby version managers'"
95
-
96
- file 'Procfile' do <<-CODE
97
- web: puma -C config/puma.rb
98
- worker: sidekiq -C config/sidekiq.yml
99
- CODE
100
- end
68
+ # puts
69
+ # say_status 'bundle', 'Creating bundle config...', :yellow
70
+ # puts '-'*80, ''; sleep 0.25
71
+ #
72
+ # file '.bundle/config' do <<-CODE
73
+ # ---
74
+ # BUNDLE_WITHOUT: production:staging
75
+ # CODE
76
+ # end
77
+ #
78
+ # git add: '-A'
79
+ # git commit: "-m 'Add .bundle/config to ignore production:staging in development mode'"
101
80
 
102
- git add: '-A'
103
- git commit: "-m 'Add a basic Procfile to start the puma and sidekiq processes'"
104
81
 
105
- # ----- Create an .env file ---------------------------------------------------------------------------
82
+ # ----- Create a development environment file ---------------------------------------------------
106
83
 
107
84
  puts
108
- say_status 'root', 'Creating .env file...', :yellow
85
+ say_status 'root', 'Creating development environment file...', :yellow
109
86
  puts '-'*80, ''; sleep 0.25
110
87
 
111
88
  file '.env' do <<-CODE
@@ -153,6 +130,24 @@ SIDEKIQ_CONCURRENCY: 25
153
130
  CODE
154
131
  end
155
132
 
133
+ git add: '-A'
134
+ git commit: "-m 'Add development environment file'"
135
+
136
+ # ----- Create the foreman Procfile ------------------------------------------------------------------------
137
+
138
+ puts
139
+ say_status 'start', 'Creating the Procfile for foreman...', :yellow
140
+ puts '-'*80, ''; sleep 0.25
141
+
142
+ file 'Procfile' do <<-CODE
143
+ web: puma -C config/puma.rb
144
+ worker: sidekiq -C config/sidekiq.yml
145
+ CODE
146
+ end
147
+
148
+ git add: '-A'
149
+ git commit: "-m 'Add a basic Procfile to start the puma and sidekiq processes'"
150
+
156
151
  # ----- Modify the secrets yaml file -----------------------------------------------------------------------
157
152
 
158
153
  gsub_file 'config/secrets.yml', /.*\n/, ''
@@ -208,12 +203,14 @@ inject_into_file 'config/application.rb', after: "automatically loaded.\n" do <<
208
203
  config.action_mailer.default_options = { from: ENV['ACTION_MAILER_DEFAULT_FROM'] }
209
204
  config.action_mailer.default_url_options = { host: ENV['ACTION_MAILER_HOST'] }
210
205
 
211
- config.cache_store = :redis_store, { host: ENV['CACHE_HOST'],
212
- port: ENV['CACHE_PORT'].to_i,
213
- db: ENV['CACHE_DATABASE'].to_i,
214
- # password: ENV['CACHE_PASSWORD'],
215
- namespace: '#{app_name}::cache'
216
- }
206
+ redis_store_options = { host: ENV['CACHE_HOST'],
207
+ port: ENV['CACHE_PORT'].to_i,
208
+ db: ENV['CACHE_DATABASE'].to_i,
209
+ namespace: '#{app_name}::cache'
210
+ }
211
+ redis_store_options[:password] = ENV['CACHE_PASSWORD'] if ENV['CACHE_PASSWORD'].present?
212
+
213
+ config.cache_store = :redis_store, redis_store_options
217
214
  CODE
218
215
  end
219
216
 
@@ -339,7 +336,7 @@ git commit: "-m 'Add the sitemap config'"
339
336
 
340
337
  file 'config/schedule.rb', <<-CODE
341
338
  every 1.day, at: '3:00 am' do
342
- rake 'backup:production'
339
+ rake 'orats:backup'
343
340
  end
344
341
 
345
342
  every 1.day, at: '4:00 am' do
@@ -391,8 +388,12 @@ say_status 'config', 'Modifying the initializer files...', :yellow
391
388
  puts '-'*80, ''; sleep 0.25
392
389
 
393
390
  file 'config/initializers/sidekiq.rb', <<-'CODE'
391
+ ENV['CACHE_PASSWORD'].present? ? pass_string = ":#{ENV['CACHE_PASSWORD']}@" : pass_string = ''
392
+
393
+ redis_host = "#{pass_string}#{ENV['CACHE_HOST']}"
394
+
394
395
  sidekiq_config = {
395
- url: "redis://#{ENV['CACHE_HOST']}:#{ENV['CACHE_PORT']}/#{ENV['CACHE_DATABASE']}",
396
+ url: "redis://#{redis_host}:#{ENV['CACHE_PORT']}/#{ENV['CACHE_DATABASE']}",
396
397
  namespace: "ns_app::sidekiq_#{Rails.env}"
397
398
  }
398
399
 
@@ -447,31 +448,52 @@ puts
447
448
  say_status 'tasks', 'Creating application tasks...', :yellow
448
449
  puts '-'*80, ''; sleep 0.25
449
450
 
450
- file 'lib/tasks/favicon.rake', <<-'CODE'
451
- namespace :assets do
451
+ file 'lib/tasks/orats/favicon.rake', <<-'CODE'
452
+ namespace :orats do
452
453
  desc 'Create favicons from a single base png'
453
- task favicon: :environment do
454
+ task :favicons do
454
455
  require 'favicon_maker'
455
456
 
456
- options = {
457
- versions: [:apple_144, :apple_120, :apple_114, :apple_72, :apple_57, :apple_pre, :apple, :fav_png, :fav_ico],
458
- custom_versions: {
459
- apple_extreme_retina: {
460
- filename: 'apple-touch-icon-228x228-precomposed.png', dimensions: '228x228', format: 'png'
461
- },
462
- speeddial: {
463
- filename: 'speeddial-160px.png', dimensions: '160x160', format: 'png'
464
- }
465
- },
466
- root_dir: Rails.root,
467
- input_dir: File.join('app', 'assets', 'favicon'),
468
- base_image: 'favicon_base.png',
469
- output_dir: File.join('app', 'assets', 'images'),
470
- copy: true
471
- }
472
-
473
- FaviconMaker::Generator.create_versions(options) do |filepath|
474
- puts "Created favicon: #{filepath}"
457
+ FaviconMaker.generate do
458
+ setup do
459
+ template_dir Rails.root.join('app', 'assets', 'favicon')
460
+ output_dir Rails.root.join('public')
461
+ end
462
+
463
+ favicon_base_path = "#{template_dir}/favicon_base.png"
464
+
465
+ unless File.exist?(favicon_base_path)
466
+ puts
467
+ puts 'A base favicon could not be found, make sure one exists at:'
468
+ puts base_favicon
469
+ puts
470
+ exit 1
471
+ end
472
+
473
+ from File.basename(favicon_base_path) do
474
+ icon 'speeddial-160x160.png'
475
+ icon 'apple-touch-icon-228x228-precomposed.png'
476
+ icon 'apple-touch-icon-152x152-precomposed.png'
477
+ icon 'apple-touch-icon-144x144-precomposed.png'
478
+ icon 'apple-touch-icon-120x120-precomposed.png'
479
+ icon 'apple-touch-icon-114x114-precomposed.png'
480
+ icon 'apple-touch-icon-76x76-precomposed.png'
481
+ icon 'apple-touch-icon-72x72-precomposed.png'
482
+ icon 'apple-touch-icon-60x60-precomposed.png'
483
+ icon 'apple-touch-icon-57x57-precomposed.png'
484
+ icon 'favicon-196x196.png'
485
+ icon 'favicon-160x160.png'
486
+ icon 'favicon-96x96.png'
487
+ icon 'favicon-64x64.png'
488
+ icon 'favicon-32x32.png'
489
+ icon 'favicon-24x24.png'
490
+ icon 'favicon-16x16.png'
491
+ icon 'favicon.ico', size: '64x64,32x32,24x24,16x16'
492
+ end
493
+
494
+ each_icon do |filepath|
495
+ puts "Creating favicon for: #{File.basename filepath}"
496
+ end
475
497
  end
476
498
  end
477
499
  end
@@ -480,24 +502,32 @@ CODE
480
502
  git add: '-A'
481
503
  git commit: "-m 'Add a favicon generator task'"
482
504
 
483
- file 'lib/tasks/backup.rake', <<-'CODE'
484
- namespace :backup do
485
- desc 'Create a backup of your production application'
486
- task :production do
487
- project_name = File.basename(Rails.root)
488
- project_name = project_name.split('.').first if project_name.include?('.')
505
+ file 'lib/tasks/orats/backup.rake', <<-'CODE'
506
+ namespace :orats do
507
+ desc 'Create a backup of your application for a specific environment'
508
+ task :backup do
509
+ if File.exist?('.env') && File.file?('.env')
510
+ require 'dotenv'
511
+ Dotenv.load
512
+
513
+ source_external_env = ''
514
+ else
515
+ source_external_env = '. /etc/default/app_name &&'
516
+ end
489
517
 
490
- # source the production environment
491
- # using a best guess of the name based on the folder name, you may have to change it if it does not match
492
- sourced_env = ". /etc/default/#{project_name}"
518
+ # hack'ish way to run the backup command with elevated privileges, it won't prompt for a password on the production
519
+ # server because passwordless sudo has been enabled if you use the ansible setup provided by orats
520
+ system 'sudo whoami'
493
521
 
494
- system "#{sourced_env} && backup perform -t production_backup -c '#{Rails.root.join('lib', 'backup', 'config.rb')}'"
522
+ system "#{source_external_env} backup perform -t backup -c '#{File.join('lib', 'backup', 'config.rb')}' --log-path='#{File.join('log')}'"
495
523
  end
496
524
  end
497
525
  CODE
498
526
 
527
+ gsub_file 'lib/tasks/orats/backup.rake', 'app_name', app_name
528
+
499
529
  git add: '-A'
500
- git commit: "-m 'Add a favicon generator task'"
530
+ git commit: "-m 'Add a backup task'"
501
531
 
502
532
  # ----- Creating application backup --------------------------------------------------------------------
503
533
 
@@ -544,7 +574,7 @@ root_path 'lib/backup'
544
574
  # May be an absolute path, or relative to the current directory or +root_path+.
545
575
  #
546
576
 
547
- tmp_path 'tmp'
577
+ tmp_path '../../tmp'
548
578
 
549
579
  #
550
580
  # Sets the path where backup stores persistent information.
@@ -552,7 +582,7 @@ tmp_path 'tmp'
552
582
  # May be an absolute path, or relative to the current directory or +root_path+.
553
583
  #
554
584
 
555
- data_path 'data'
585
+ data_path '../../tmp/backup/data'
556
586
 
557
587
  ##
558
588
  # Utilities
@@ -637,12 +667,14 @@ CODE
637
667
  git add: '-A'
638
668
  git commit: "-m 'Add backup config'"
639
669
 
640
- file 'lib/backup/models/production_backup.rb', <<-'CODE'
641
- Model.new(:production_backup, 'Production backup') do
670
+ file 'lib/backup/models/backup.rb', <<-'CODE'
671
+ Model.new(:backup, 'Backup for the current RAILS_ENV') do
642
672
  split_into_chunks_of 10
643
673
  compress_with Gzip
644
674
 
645
675
  database PostgreSQL do |db|
676
+ db.sudo_user = ENV['DATABASE_USERNAME']
677
+
646
678
  # To dump all databases, set `db.name = :all` (or leave blank)
647
679
  db.name = ENV['DATABASE_NAME']
648
680
  db.username = ENV['DATABASE_USERNAME']
@@ -672,7 +704,7 @@ Model.new(:production_backup, 'Production backup') do
672
704
  # s3.secret_access_key = ENV['S3_SECRET_ACCESS_KEY']
673
705
  # s3.region = ENV['S3_REGION']
674
706
  # s3.bucket = 'backup'
675
- # s3.path = '/production/database'
707
+ # s3.path = "/database/#{ENV['RAILS_ENV']}"
676
708
  # end
677
709
 
678
710
  ENV['SMTP_ENCRYPTION'].empty? ? mail_encryption = 'none' : mail_encryption = ENV['SMTP_ENCRYPTION']
@@ -718,20 +750,25 @@ inject_into_file 'app/helpers/application_helper.rb', after: "ApplicationHelper\
718
750
  end
719
751
 
720
752
  def link_to_all_favicons
721
- capture do
722
- concat favicon_link_tag 'speeddial-160px.png', rel: 'icon', type: 'image/png'
723
- concat favicon_link_tag 'favicon.ico', rel: 'icon', type: 'image/x-icon'
724
- concat favicon_link_tag 'favicon.ico', rel: 'shortcut icon', type: 'image/x-icon'
725
- concat favicon_link_tag 'favicon.png', rel: 'icon', type: 'image/png'
726
- concat favicon_link_tag 'apple-touch-icon-228x228-precomposed.png', sizes: '72x72', rel: 'apple-touch-icon-precomposed', type: 'image/png'
727
- concat favicon_link_tag 'apple-touch-icon-144x144-precomposed.png', sizes: '144x144', rel: 'apple-touch-icon-precomposed', type: 'image/png'
728
- concat favicon_link_tag 'apple-touch-icon-120x120-precomposed.png', sizes: '120x120', rel: 'apple-touch-icon-precomposed', type: 'image/png'
729
- concat favicon_link_tag 'apple-touch-icon-114x114-precomposed.png', sizes: '114x114', rel: 'apple-touch-icon-precomposed', type: 'image/png'
730
- concat favicon_link_tag 'apple-touch-icon-72x72-precomposed.png', sizes: '72x72', rel: 'apple-touch-icon-precomposed', type: 'image/png'
731
- concat favicon_link_tag 'apple-touch-icon-57x57-precomposed.png', sizes: '57x57', rel: 'apple-touch-icon-precomposed', type: 'image/png'
732
- concat favicon_link_tag 'apple-touch-icon-precomposed.png', sizes: '57x54', rel: 'apple-touch-icon-precomposed', type: 'image/png'
733
- concat favicon_link_tag 'apple-touch-icon.png', sizes: '57x54', rel: 'apple-touch-icon', type: 'image/png'
734
- end
753
+ '<link href="speeddial-160x160.png" rel="icon" type="image/png" />
754
+ <link href="apple-touch-icon-228x228-precomposed.png" rel="apple-touch-icon-precomposed" sizes="228x228" type="image/png" />
755
+ <link href="apple-touch-icon-152x152-precomposed.png" rel="apple-touch-icon-precomposed" sizes="152x152" type="image/png" />
756
+ <link href="apple-touch-icon-144x144-precomposed.png" rel="apple-touch-icon-precomposed" sizes="144x144" type="image/png" />
757
+ <link href="apple-touch-icon-120x120-precomposed.png" rel="apple-touch-icon-precomposed" sizes="120x120" type="image/png" />
758
+ <link href="apple-touch-icon-114x114-precomposed.png" rel="apple-touch-icon-precomposed" sizes="114x114" type="image/png" />
759
+ <link href="apple-touch-icon-76x76-precomposed.png" rel="apple-touch-icon-precomposed" sizes="76x76" type="image/png" />
760
+ <link href="apple-touch-icon-72x72-precomposed.png" rel="apple-touch-icon-precomposed" sizes="72x72" type="image/png" />
761
+ <link href="apple-touch-icon-60x60-precomposed.png" rel="apple-touch-icon-precomposed" sizes="60x60" type="image/png" />
762
+ <link href="apple-touch-icon-57x57-precomposed.png" rel="apple-touch-icon-precomposed" sizes="57x57" type="image/png" />
763
+ <link href="favicon-196x196.png" rel="icon" sizes="196x196" type="image/png" />
764
+ <link href="favicon-160x160.png" rel="icon" sizes="160x160" type="image/png" />
765
+ <link href="favicon-96x96.png" rel="icon" sizes="96x96" type="image/png" />
766
+ <link href="favicon-64x64.png" rel="icon" sizes="64x64" type="image/png" />
767
+ <link href="favicon-32x32.png" rel="icon" sizes="32x32" type="image/png" />
768
+ <link href="favicon-24x24.png" rel="icon" sizes="24x24" type="image/png" />
769
+ <link href="favicon-16x16.png" rel="icon" sizes="16x16" type="image/png" />
770
+ <link href="favicon.ico" rel="icon" type="image/x-icon" />
771
+ <link href="favicon.ico" rel="shortcut icon" type="image/x-icon" />'.html_safe
735
772
  end
736
773
 
737
774
  def humanize_boolean(input)
@@ -1167,4 +1204,17 @@ run 'rm -f Gemfile'
1167
1204
  from_gem 'Gemfile', 'Gemfile'
1168
1205
 
1169
1206
  git add: '-A'
1170
- git commit: "-m 'Add basic gems to the Gemfile'"
1207
+ git commit: "-m 'Add basic gems to the Gemfile'"
1208
+
1209
+ # ----- Adding default favicon-------------------------------------------------------------------------
1210
+
1211
+ puts
1212
+ say_status 'assets', 'Copying default favicon...', :yellow
1213
+ puts '-'*80, ''; sleep 0.25
1214
+
1215
+ base_path = "#{File.expand_path File.dirname(__FILE__)}/includes"
1216
+ run 'mkdir -p app/assets/favicon'
1217
+ run "cp #{base_path}/app/assets/favicon/favicon_base.png app/assets/favicon/favicon_base.png"
1218
+
1219
+ git add: '-A'
1220
+ git commit: "-m 'Add default 256x256 favicon'"
@@ -1,11 +1,11 @@
1
1
  nickjj.user,v0.1.0
2
2
  nickjj.security,v0.1.1
3
- nickjj.postgres,v0.1.1
3
+ nickjj.postgres,v0.1.2
4
4
  nickjj.ruby,v0.1.4
5
5
  nickjj.nodejs,v0.1.1
6
6
  nickjj.nginx,v0.1.3
7
7
  nickjj.rails,v0.1.92
8
- nickjj.whenever,v0.1.0
8
+ nickjj.whenever,v0.1.1
9
9
  nickjj.pumacorn,v0.1.1
10
10
  nickjj.sidekiq,v0.1.1
11
11
  nickjj.monit,v0.1.2
@@ -15,22 +15,22 @@ gem 'sidekiq', '~> 3.1.2'
15
15
  gem 'sinatra', '>= 1.4.5', require: false
16
16
  #gem 'jbuilder'
17
17
 
18
- gem 'kaminari', '~> 0.15.1'
18
+ gem 'kaminari', '~> 0.16.0'
19
19
 
20
20
  gem 'sitemap_generator', '~> 5.0.2'
21
- gem 'favicon_maker', '~> 1.1.2'
21
+ gem 'favicon_maker', '~> 1.3'
22
22
 
23
23
  group :development do
24
24
  gem 'spring', '~> 1.1.2'
25
25
  gem 'foreman', require: false
26
26
  gem 'rack-mini-profiler', '~> 0.9.1'
27
- gem 'bullet', '~> 4.8.0'
27
+ gem 'bullet', '~> 4.10.0'
28
28
  gem 'meta_request', '~> 0.3.0'
29
29
  gem 'railroady', '~> 1.1.1', require: false
30
30
  end
31
31
 
32
32
  group :development, :test do
33
- gem 'dotenv-rails', '~> 0.7.0'
33
+ gem 'dotenv-rails', '~> 0.11.1'
34
34
  end
35
35
 
36
36
  group :staging, :production do
@@ -26,7 +26,7 @@ redis_port: 6379
26
26
  redis_version: 2.8.9
27
27
  redis_install_dir: /usr/local
28
28
  redis_dir: /usr/local/redis
29
- redis_password: false # must be set to true if you want to use a password
29
+ redis_password: "{{ secrets_redis_password }}"
30
30
 
31
31
  # rails application configuration
32
32
  rails_deploy_app_name: testproj
@@ -50,6 +50,7 @@ rails_deploy_env:
50
50
  RAILS_ENV: production
51
51
 
52
52
  PROJECT_PATH: "{{ rails_deploy_path }}"
53
+ SOURCE_ENV_PATH: "/etc/default/{{ rails_deploy_app_name }}"
53
54
 
54
55
  GOOGLE_ANALYTICS_UA: ""
55
56
  DISQUS_SHORT_NAME: ""
@@ -94,8 +95,11 @@ rails_deploy_env:
94
95
 
95
96
  SIDEKIQ_CONCURRENCY: 25
96
97
 
98
+ # whenever configuration
99
+ whenever_update: rails_deploy_app_name
100
+
97
101
  # nginx configuration
98
- nginx_base_domain: 0.0.0.0
102
+ nginx_base_domain: localhost
99
103
  nginx_upstream_name: "{{ rails_deploy_app_name }}"
100
104
  nginx_upstream_server: unix://{{ rails_deploy_path }}/tmp/puma.sock
101
105
  nginx_root_path: "{{ rails_deploy_path }}/public"
@@ -1,3 +1,3 @@
1
1
  module Orats
2
- VERSION = '0.6.2'
2
+ VERSION = '0.6.3'
3
3
  end
@@ -1,14 +1,14 @@
1
1
  require 'minitest/autorun'
2
2
  require 'securerandom'
3
- require_relative '../lib/orats/foreman'
3
+ require_relative '../lib/orats/server'
4
4
 
5
5
  module Orats
6
6
  module Test
7
- include Foreman
7
+ include Server
8
8
 
9
9
  BINARY_PATH = File.absolute_path('../../bin/orats',__FILE__)
10
10
  TEST_PATH = '/tmp/orats/test'
11
- ORATS_FLAGS = '--pg-password pleasedonthackme --skip-foreman-start'
11
+ ORATS_FLAGS = '--pg-password pleasedonthackme --skip-server-start'
12
12
 
13
13
  def orats(command, options = {})
14
14
  cmd, app_name = command.split(' ')
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: orats
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.2
4
+ version: 0.6.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nick Janetakis
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-06-07 00:00:00.000000000 Z
11
+ date: 2014-06-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: thor
@@ -86,8 +86,8 @@ files:
86
86
  - lib/orats/commands/common.rb
87
87
  - lib/orats/commands/new/ansible.rb
88
88
  - lib/orats/commands/new/exec.rb
89
- - lib/orats/commands/new/foreman.rb
90
89
  - lib/orats/commands/new/rails.rb
90
+ - lib/orats/commands/new/server.rb
91
91
  - lib/orats/commands/nuke.rb
92
92
  - lib/orats/commands/outdated/compare.rb
93
93
  - lib/orats/commands/outdated/exec.rb
@@ -98,6 +98,7 @@ files:
98
98
  - lib/orats/templates/base.rb
99
99
  - lib/orats/templates/includes/Galaxyfile
100
100
  - lib/orats/templates/includes/Gemfile
101
+ - lib/orats/templates/includes/app/assets/favicon/favicon_base.png
101
102
  - lib/orats/templates/includes/inventory/group_vars/all.yml
102
103
  - lib/orats/templates/includes/inventory/hosts
103
104
  - lib/orats/templates/play.rb