Skip to content

Instantly share code, notes, and snippets.

View josefrichter's full-sized avatar

Josef Richter josefrichter

View GitHub Profile
defmodule Queue do
use GenServer
def start_link(queue, name) do
GenServer.start(__MODULE__, queue, name: name)
end
# GenServer callbacks
def handle_call(:get, _from, [item | queue]) do
defmodule Tester do
def start_run do
Agent.start(fn -> [total: 0, passed: 0, failed: 0] end, name: :test_stats)
end
def record_pass do
Agent.update(:test_stats, fn [total: t, passed: p, failed: f] ->
[total: t + 1, passed: p + 1, failed: f]
end)
end
defmodule KV.Registry do
use GenServer
## Missing Client API - will add this later
## Defining GenServer Callbacks
@impl true
def init(:ok) do
{:ok, %{}}
defmodule Stack do
use GenServer
# Client
def start_link(default) when is_list(default) do
GenServer.start_link(__MODULE__, default)
end
def push(pid, element) do
defmodule Counter do
use Agent
def start_link(initial_value) do
Agent.start_link(fn -> initial_value end, name: __MODULE__)
end
def value do
Agent.get(__MODULE__, & &1)
end
defmodule MovieData do
def start_link do
Agent.start_link(fn -> %{} end)
end
def add(pid, movie) do
Agent.update(pid, fn(state) ->
Map.put(state, movie, 1)
end)
def create_comment(attrs \\ %{}) do
%Comment{}
|> Comment.changeset(attrs)
# TODO how to I get "post" here, to do the following step?
# |> Ecto.Changeset.put_assoc(:post, post)
|> Repo.insert()
end
@josefrichter
josefrichter / Spacer.tsx
Created April 10, 2020 07:33
replicating SwitftUI Spacer() in React
// replicating SwitftUI Spacer() in React
import * as React from "react"
export function Spacer() {
return <div style={{ flex: "1 1 0" }}>&nbsp;</div>
}
//
// Modal sheets on top of each other in SwiftUI
// Testing the possibilities
//
// ContentView.swift
// navTest1
//
// Created by JOSEF RICHTER on 04/03/2020.
// Copyright © 2020 JOSEF RICHTER. Licence: do whatever you want, aka WTFPL http://www.wtfpl.net
//
@josefrichter
josefrichter / ComponentBoilerplate.tsx
Last active October 15, 2019 16:32 — forked from steveruizok/Example.tsx
An example Framer X code component.
import * as React from "react"
import {
Frame,
FrameProps,
addPropertyControls,
ControlType,
} from "framer"
type Props = Partial<FrameProps> &