- Initial task is to get Gladdy’s process in the wiki for the rest of the dev team to read and get an understanding of
- Integrate into dev flow
- Add a description of your new features as they happen and make the content a part of the review to make sure it is clear and concise
- Areas would include:
- Q&A/FAQ
- Onboarding
# Blog post for this: https://medium.com/@sabman/running-rails-5-0-1-postgis-using-docker-compose-2-a0ce5e5fbaba#.j6scfvmw6 | |
APP_NAME=dockerized-rails | |
rails _5.0.1_ new $APP_NAME -d postgresql | |
cd $APP_NAME | |
mkdir -p containers/development | |
RAILS_ENV=development | |
# 1. create a Dockerfile for development | |
cat > ./containers/development/Dockerfile <<EOF |
# This Dockerfile is intended to build a production-ready app image. | |
# | |
# This is not required for development environments | |
FROM sagittaros/rails-base:latest | |
MAINTAINER Felix Tioh <felix.tioh@crowdo.com> | |
COPY . /app | |
WORKDIR /app | |
EXPOSE 5000 |
In this episode we're going to be adding realtime notifications into your app using ActionCable. We've talked about notifications a few times in the past and we used AJAX polling for that. 95% of the time, polling is the solution that would be recommended for it.
But if you're looking for a good introduction into ActionCable then this is a decent one because we're only really using it for one way from the server side to the client side.
So to get started we're starting with an app that has Bootstrap installed and then we created a Main controller with an index view which is where we will list our Notifications as for this example.
Before we generate our channels let's install a few things
import React from "react"; | |
import { render } from "react-dom"; | |
const ParentComponent = React.createClass({ | |
getDefaultProps: function() { | |
console.log("ParentComponent - getDefaultProps"); | |
}, | |
getInitialState: function() { | |
console.log("ParentComponent - getInitialState"); | |
return { text: "" }; |
this.colliders = []; | |
var loader = new THREE.ObjectLoader(); | |
loader.load('models/school/scene.json', function (obj) { | |
me.scene.add(obj); | |
player = new THREE.Object3D(); | |
player.add(me.camera); | |
me.scene.add( player ); |
//events - a super-basic Javascript (publish subscribe) pattern | |
var events = { | |
events: {}, | |
on: function (eventName, fn) { | |
this.events[eventName] = this.events[eventName] || []; | |
this.events[eventName].push(fn); | |
}, | |
off: function(eventName, fn) { | |
if (this.events[eventName]) { |
class Text_Editor_Custom_Control extends WP_Customize_Control | |
{ | |
public $type = 'textarea'; | |
/** | |
** Render the content on the theme customizer page | |
*/ | |
public function render_content() { ?> | |
<label> | |
<span class="customize-control-title"><?php echo esc_html( $this->label ); ?></span> | |
<?php |
05/25/2018: tested with macOS Sierra High 10.12.6
08/04/2020: added @mayesa's suggestion to fix an exception with EventMachine 08/04/2020: tested with macOS Catalina 10.15.5
Install MailCatcher:
brew install ruby
sudo gem install mailcatcher
This should help you get Sendmail installed with basic configuration on Ubuntu.
- If sendmail isn't installed, install it:
sudo apt-get install sendmail
- Configure
/etc/hosts
file:nano /etc/hosts
- Make sure the line looks like this:
127.0.0.1 localhost yourhostname
- Run Sendmail's config and answer 'Y' to everything:
sudo sendmailconfig
- Restart apache
sudo service apache2 restart