Skip to content

Instantly share code, notes, and snippets.

View willrax's full-sized avatar
👨‍💻

Will Raxworthy willrax

👨‍💻
View GitHub Profile
@willrax
willrax / controllers.application.js
Last active September 22, 2016 08:05
properties
import Ember from 'ember';
const { computed } = Ember;
export default Ember.Controller.extend({
appName: 'Ember Twiddle',
model: {
name: 'will'
},
import Ember from 'ember';
export default Ember.Controller.extend({
});
@willrax
willrax / controllers.application.js
Created July 14, 2016 14:50
composable-helpers
import Ember from 'ember';
export default Ember.Controller.extend({
appName: 'Ember Twiddle',
actions: {
myAction() {
// do big action!
return true;
}
@willrax
willrax / pagerduty.ex
Created July 8, 2016 14:46
PagerDuty Event
def handle_event({:site_checked, {:change, site, payload}}, state) do
%{from: old_status, to: new_status} = payload
trigger_pagerduty(site, new_status, old_status)
{:ok, state}
end
def handle_event(_, state), do: {:ok, state}
@willrax
willrax / event_manager.ex
Created July 8, 2016 14:42
walnut_event-manager.ex
def site_checked(site = %{status: status}, status) do
payload = {:nochange, site, %{}}
GenServer.cast(__MODULE__, {:notify, {:site_checked, payload}})
end
def site_checked(site = %{status: new_status, reason: reason}, old_status) do
payload = {:change, site, %{from: old_status, to: new_status, reason: reason}}
GenServer.cast(__MODULE__, {:notify, {:site_checked, payload}})
end
import Ember from 'ember';
export default Ember.Controller.extend({
appName: 'Ember Twiddle'
});
defp set_status(:ok, site) do
ConCache.update(:sites, site.name, fn(old) ->
case old do
%{incident_key: incident_key} ->
Pagexduty.Server.resolve("#{site.name} health check has passed", incident_key)
_ ->
nil
end
{:ok, %{status: :ok}}
defmodule Site.Heroku do
use Status.Site
def handle_response(response) do
Poison.Parser.parse!(response.body)
|> determine_app_state
end
def determine_app_state(%{"status" => %{"Production" => "green", "Development" => "green"}}), do: :ok
def determine_app_state(_), do: :notok
defmodule Site.CircleCi do
use Status.Site
def handle_response(response) do
Poison.Parser.parse!(response.body)
|> determine_app_state
end
defp url(site) do
"https://circleci.com/api/v1/project/#{site.app}/tree/master?limit=1&circle-token=#{System.get_env("CIRCLECI_TOKEN")}"
@willrax
willrax / keybase.md
Created April 6, 2016 11:13
keybase.md

Keybase proof

I hereby claim:

  • I am willrax on github.
  • I am willrax (https://keybase.io/willrax) on keybase.
  • I have a public key whose fingerprint is E7D8 6CF4 116A 5A8F D769 271D 903D 2054 B790 4392

To claim this, I am signing this object: