View gist:351d6561b9617546fbb5
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
DeviceNotifier = Struct.new(:message, :count) do | |
def call | |
notifications.each do |notif| | |
pusher.push(notif) | |
end | |
end | |
private | |
def pusher |
View PushExClient.js
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import { Pushex } from 'pushex' | |
import { getToken } from './tokenService' | |
const pushexOptions = { | |
getParams: () => getToken().then(({ token }) => Promise.resolve({ token })), | |
onConnectionError: pushex => { | |
pushex.resetParams() | |
}, | |
} |
View troll.ex
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
defmodule SteveTrollsElixir.Private do | |
defmacro __using__(_) do | |
quote do | |
import unquote(__MODULE__) | |
@on_definition {unquote(__MODULE__), :on_priv_def} | |
end | |
end | |
defmacro private() do | |
quote do |
View chartkick.ex
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
defmodule Chartkick do | |
@moduledoc """ | |
Adapted from https://github.com/buren/chartkick-ex/blob/master/lib/chartkick.ex to work with LiveView. | |
Works in conjunction with Phoenix LiveView hooks to render charts using Chartkick.js library. | |
""" | |
require EEx | |
gen_chart_fn = fn chart_type -> |
View contentful-import.json
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"contentTypes": [ | |
{ | |
"sys": { | |
"space": { | |
"sys": { | |
"type": "Link", | |
"linkType": "Space", | |
"id": "hq8sy8wk8n0y" | |
} |
View notion.ex
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
defmodule Clove.Connections.Client.Notion do | |
# There is not a way to filter last_edited_time, so consumer should check if it needs to fetch the blocks or not | |
# This will help for deletion detection, though | |
def retrieve_pages(connection) do | |
request = %{ | |
method: :post, | |
url: "#{base_url()}/v1/search", | |
params: %{ | |
"query" => "", | |
"sort" => %{ |
View hook-example.js
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* This example is just copy/pasted from my code base. The gist of it is that `this.pushEventTo` on the hook | |
* will send an event over the LiveView channel that is processed by the component/LiveView that's mounted at | |
* that element. | |
* | |
* I recommend using pushEventTo instead of pushEvent because I've run into situations where the event gets sent | |
* to the incorrect component or LiveView. | |
*/ | |
const GeneratePDFButton = { | |
mounted() { |
View header.html
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<script type="text/javascript"> | |
if (window.top !== window.self) { | |
document.body.classList.add('in-iframe') | |
} | |
</script> |
View embed.html
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<!-- Note: un-minified source code available at clove-embed.js --> | |
<script type="text/javascript" src="https://public-cdn.cloveapp.io/clove-embed.min.js"></script> | |
<script type="text/javascript"> | |
CloveEmbed.installFrameListener() | |
CloveEmbed.setFrameUrl("https://yourhub.example.com") | |
</script> |
View head.html
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<script type="text/javascript"> | |
if (window.top !== window.self) { | |
const msg = { | |
urlChange: { | |
pathname: window.location.pathname, | |
search: window.location.search, | |
href: window.location.href | |
} | |
} | |
window.top.postMessage(msg, '*') |