Installing mysql2 gem errors on MacOS Mojave.
Make sure openssl is installed on Mac via Homebrew.
brew install openssl
| # -*- encoding : utf-8 -*- | |
| set :assets_dependencies, %w(app/assets lib/assets vendor/assets Gemfile.lock config/routes.rb) | |
| namespace :deploy do | |
| namespace :assets do | |
| desc <<-DESC | |
| Run the asset precompilation rake task. You can specify the full path \ | |
| to the rake executable by setting the rake variable. You can also \ |
| require 'resque/errors' | |
| class DatabaseBackupJob | |
| def self.perform(id, foo, bar) | |
| # do backup work | |
| rescue Resque::TermException | |
| # write failure to database | |
| # re-enqueue the job so the job won't be lost when scaling down. | |
| Resque.enqueue(DatabaseBackupJob, id, foo, bar) |
| # Update, upgrade and install development tools: | |
| apt-get update | |
| apt-get -y upgrade | |
| apt-get -y install build-essential | |
| apt-get -y install git-core | |
| # Install rbenv | |
| git clone git://github.com/sstephenson/rbenv.git /usr/local/rbenv | |
| # Add rbenv to the path: |
| #!/usr/bin/env ruby | |
| # reviewed by Erik B on January 21 2012 | |
| # by @tapbot_paul | |
| # Don't blame me if this nukes your metadata, formats your drive, kills your kids | |
| # This script goes through any iCloud Matched songs in your iTunes library and tries to update the | |
| # metadata from the iTunes Store | |
| # Will run against selected tracks or if nothing selected entire library | |
| # install the required gems with the following commands | |
| # sudo gem install json --no-ri --no-rdoc | |
| # sudo gem install rb-appscript --no-ri --no-rdoc |
| # app/controllers/users/password_controller.rb | |
| class Users::PasswordsController < Devise::PasswordsController | |
| def resource_params | |
| params.require(:user).permit(:email, :password, :password_confirmation) | |
| end | |
| private :resource_params | |
| end |
| # Automatically add mustaches to any images it can | |
| # | |
| # | |
| module.exports = (robot) -> | |
| robot.hear /^(https?:\/\/[^ #]+\.(?:png|jpg|jpeg))(?:[#]\.png)?$/i, (msg) -> | |
| src = msg.match[1] | |
| unless src.match(/^http:\/\/mustachify.me/) | |
| msg.http("http://stacheable.herokuapp.com") |
| # Utility commands surrounding Hubot uptime. | |
| spawn = require('child_process').spawn | |
| module.exports = (robot) -> | |
| robot.hear /hubot (who|where) are you\??/i, (msg) -> | |
| msg.finish() | |
| child = spawn('/bin/sh', ['-c', "echo I\\'m $LOGNAME@$(hostname):$(pwd) \\($(git rev-parse HEAD)\\)"]) | |
| child.stdout.on 'data', (data) -> | |
| msg.send "#{data.toString().trim()} running node #{process.version} [version: #{robot.version}, pid: #{process.pid}, name: #{robot.name} ]" |
| def run! | |
| pid = fork do | |
| exec_pid = fork do | |
| $0 = "heaven[#{Heaven.current_sha}] : executing deployment of #{application_name}" | |
| out_file = File.new(log, "w") | |
| STDIN.reopen("/dev/null") | |
| STDOUT.reopen(out_file) | |
| STDERR.reopen(out_file) |
| # http://unicorn.bogomips.org/SIGNALS.html | |
| namespace :unicorn do | |
| task :start, :roles => :app do | |
| sudo "god start unicorn" | |
| end | |
| task :stop, :roles => :app do | |
| sudo "god stop unicorn" | |
| end |