Skip to content

Instantly share code, notes, and snippets.

@dfalmeida
dfalmeida / signed_url.ex
Last active April 30, 2020 08:44
Signed Url Example
# From: https://github.com/stavro/arc/blob/master/README.md#url-generation
Avatar.url({"selfie.png", user}, :thumb, signed: true, expires_in: 3600)
#=> "https://bucket.s3.amazonaws.com/uploads/1/thumb.png?AWSAccessKeyId=AKAAIPDF14AAX7XQ&Signature=5PzIbSgD1V2vPLj%2B4WLRSFQ5M%3D&Expires=1434395458"
@dfalmeida
dfalmeida / policy.json
Last active April 24, 2020 13:44
IAM Policy - S3 Access
{
"Version": "2020-04-24",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:PutObject",
"s3:GetObject",
"s3:DeleteObject"
],
@dfalmeida
dfalmeida / rename_phoenix_project.sh
Last active November 8, 2018 11:29 — forked from kumekay/rename_phoenix_project.sh
rename a phoenix 1.3 project
#!/bin/bash
set -e
CURRENT_NAME="CurrentName"
CURRENT_OTP="current_name"
NEW_NAME="NewName"
NEW_OTP="new_name"
func sendActions(with player: Player) {
WebSocket.instance.sendMessage(with: "game:slimeSoccer",
event: "playerAction",
payload: [
"player" : player.id,
"jump": player.isJumping,
"left": player.isMovingLeft,
"right": player.isMovingRight,
"x": player.sprite?.position.x as Any,
public func sendMessage(with channelId: String,
event: String,
payload: Socket.Payload,
onSuccess: @escaping (Socket.Payload) -> (),
onError: @escaping (Socket.Payload) -> ()) {
guard let socket = socket else { return }
if socket.isConnected {
socket.channels[channelId]?.send(event, payload: payload)?
public func joinChannel(with channelId: String,
payload: Socket.Payload,
channelEventListeners: [ChannelEventListener],
onJoinSuccess: @escaping (Socket.Payload) -> (),
onJoinError: @escaping (Socket.Payload) -> ()) {
guard let socket = socket else { return }
let joinChannelBlock: () -> () = {[weak self] in
func connectSocket() {
WebSocket.instance.setup(with: "http://192.168.1.146:4000/socket/websocket")
WebSocket.instance.connect(with: {[weak self] in
guard
let weakSelf = self
else { return }
WebSocket.instance.joinChannel(with: "game:slimeSoccer",
payload: ["email":"[email protected]"],
public func connect(with onConnect: @escaping () -> (), retryOnDisconnect: Bool = true) {
guard let socket = socket else { return }
self.retryOnDisconnect = retryOnDisconnect
socket.onConnect = onConnect
socket.onDisconnect = {[weak self] error in
guard let weakSelf = self else { return }