$ sudo install -o redis -g redis -d /var/lib/redis2
$ sudo cp -p /etc/redis/redis.conf /etc/redis/redis2.conf
| # Create Rails App | |
| ``` | |
| rails new app_name -d mysql | |
| ``` | |
| ### cp config/database.example.yml | |
| ``` | |
| rake db:create | |
| ``` |
| # frozen_string_literal: true | |
| # Use this setup block to configure all options available in SimpleForm. | |
| SimpleForm.setup do |config| | |
| # Default class for buttons | |
| config.button_class = "button" | |
| # Define the default class of the input wrapper of the boolean input. | |
| config.boolean_label_class = "checkbox" |
The redis configuration file is likely located at /usr/local/etc/redis.conf
cp /usr/local/etc/redis.conf /usr/local/etc/redis2.conf
Change the port number from 6379 to something else. I used 6380
| # config/initializers/activestorage.rb | |
| Rails.application.config.to_prepare do | |
| # Provides the class-level DSL for declaring that an Active Record model has attached blobs. | |
| ActiveStorage::Attached::Macros.module_eval do | |
| def has_one_attached(name, dependent: :purge_later, acl: :private) | |
| class_eval <<-CODE, __FILE__, __LINE__ + 1 | |
| def #{name} | |
| @active_storage_attached_#{name} ||= ActiveStorage::Attached::One.new("#{name}", self, dependent: #{dependent == :purge_later ? ":purge_later" : "false"}, acl: "#{acl}") | |
| end | |
| FROM ruby:2.3.1 | |
| # Install dependencies | |
| RUN apt-get update -qq && apt-get install -y build-essential libpq-dev nodejs | |
| # Set an environment variable where the Rails app is installed to inside of Docker image: | |
| ENV RAILS_ROOT /var/www/app_name | |
| RUN mkdir -p $RAILS_ROOT | |
| # Set working directory, where the commands will be ran: |
| require 'sidekiq/api' | |
| # 1. Clear retry set | |
| Sidekiq::RetrySet.new.clear | |
| # 2. Clear scheduled jobs | |
| Sidekiq::ScheduledSet.new.clear |
| #!/usr/bin/python | |
| # Example using a character LCD connected to a Raspberry Pi or BeagleBone Black. | |
| import time | |
| import Adafruit_CharLCD as LCD | |
| import Adafruit_CharLCD as LCD | |
| import turtle | |
| import random | |
| from math import sqrt | |
| from gpiozero import Button |
| module ActiveJobRetryControlable | |
| extend ActiveSupport::Concern | |
| DEFAULT_RETRY_LIMIT = 5 | |
| attr_reader :attempt_number | |
| module ClassMethods | |
| def retry_limit(retry_limit) | |
| @retry_limit = retry_limit |
POST /oauth/token HTTP/1.1
Content-Type: application/json
{
"grant_type": "password",
"client_id": "CLIENT_ID",
"owner_type": "OWNER_TYPE",
"username": "OWNER_EMAIL",
"password": "OWNER_PASSWORD"