Forms have 2 basic data flows:
User input -> form object -> model
| CarrierWave.configure do |config| | |
| if ENV["AWS_S3_BUCKET"] | |
| config.storage = :fog | |
| config.fog_credentials = { | |
| provider: "AWS", | |
| aws_access_key_id: ENV["AWS_ACCESS_KEY_ID"], | |
| aws_secret_access_key: ENV["AWS_SECRET_ACCESS_KEY"] | |
| } | |
| config.fog_directory = ENV["AWS_S3_BUCKET"] | |
| else |
| export AWS_ACCESS_KEY_ID=<IAM user access key id> | |
| export AWS_SECRET_ACCESS_KEY=<IAM user secret access key> |
The situation:
| ( | |
| sleep 1 | |
| curl --request POST \ | |
| --url http://localhost:4040/api/tunnels \ | |
| --header 'content-type: application/json' \ | |
| --data '{ | |
| "addr": 8081, | |
| "proto": "http", | |
| "name": "voyage-js", | |
| "subdomain": "jdwolk-voyage-js" |
| docker ps -a | |
| Show all docker containers, even runs not running | |
| docker build -f <DOCKERFILE> -t <????NOT REALLY THE NAME???> <DIR> | |
| builds whatever's in <DIR> using the <DOCKERFILE> to the <???NOT REALLY THE NAME???> | |
| docker run <NAME> | |
| Runs the container named <NAME>. Pulls down the required image first if it doesn't exist | |
| docker run -d -t -p <IP>:<PORT>:<MAPPED-PORT> --name <NAME> <???NOT REALLY THE NAME???>k |
| ## EB cli | |
| ### Init | |
| (Shouldn't be necessary now that things are set up, but good to know:) | |
| `$ aws configure` | |
| then | |
| `$ eb init` |
| module LogOnCall | |
| def call | |
| puts "Logging #{self.class.name}.call" | |
| super | |
| end | |
| end | |
| class BaseThing | |
| ### MAGIC HAPPENS HERE | |
| def self.inherited(subclass) |