Understand your Mac and iPhone more deeply by tracing the evolution of Mac OS X from prelease to Swift. John Siracusa delivers the details.
You've got two main options:
| require 'redis' | |
| module Features | |
| class << self | |
| extend Forwardable | |
| def_delegators :rollout, :active?, :activate_user, :deactivate_user, :activate, :deactivate | |
| private | |
| def rollout | |
| @rollout ||= begin |
| #!/bin/sh | |
| basename=`basename $0` | |
| if [ -z "$*" ]; then | |
| echo "usage: ${basename} <dot> [ -o | -r | <file> | - ]" | |
| echo "" | |
| echo "options:" | |
| echo " -o open dot in window with keyboard focus" | |
| echo " -r read contents of dot" |
| module Entry::TrackerBlocking | |
| extend ActiveSupport::Concern | |
| included do | |
| has_many :blocked_trackers | |
| end | |
| email_service_blockers = { | |
| "ActiveCampaign" => /lt\.php(.*)?l\=open/, | |
| "AWeber" => "openrate.aweber.com", |
| # Rails production setup via SQLite3 made durable by https://litestream.io/ | |
| # Copy this to Dockerfile on a fresh rails app. Deploy to fly.io or any other container engine. | |
| # | |
| # try locally: docker build . -t rails && docker run -p3000:3000 -it rails | |
| # | |
| # in production you might want to map /data to somewhere on the host, | |
| # but you don't have to! | |
| # | |
| FROM ruby:3.0.2 |