View sitemap.ex
defmodule DockYard.Sitemaps.Blog do
use Sitemap, host: "https://#{Application.get_env(:dockyard, DockYard.Endpoint)[:url][:host]}"
def generate do
posts = DockYard.Repo.all(DockYard.Post)
create do
Enum.each(posts, fn(post) ->
add "blog/#{post.slug}", priority: 0.5, changefreq: "hourly", expires: nil, mobile: true
View components.class-tree.js
import Ember from 'ember';
export default Ember.Component.extend({
showPrivate: false,
filterValues: '',
showEmberData: false,
run: function() {
var g = new dagreD3.Digraph(), rootNode = {name: 'Object', namespace: 'Ember', children: []},
layout = dagreD3.layout().nodeSep(5).rankSep(60),
renderer = new dagreD3.Renderer();
View deep_fetch.exs
opts = [with: %{name: "George"}]
acc = %{
foo: %{
columns: %{
name: "Will"
with {:ok, override} <- Keyword.fetch(opts, :with),
View nginx.conf
location /design-sprints/ {
root /var/www/design-sprints;
index index.html;
View after_test.exs
defmodule DockYard.Test.Acceptance.Api.V1.CaseStudyTest do
use DockYard.ConnCase, async: false
use EctoFixtures.Case, with: DockYard.Test.Fixtures
import JsonApiAssert
@fixtures [:case_study_1, :case_study_2, serialize: true]
test "GET /api/v1/case-studies", %{conn: conn, data: data} do
|> get("/api/v1/case-studies")
|> json_response(200)

App Setup

  1. ssh into server
  2. git clone the repo
  3. Configure {nginx,apache,etc} to forward requests to the fastboot server
  4. Configure {nginx,apache,etc} to fallback to static assets if fastboot is not available

App updates

  1. ssh into server
View gist:0ff36f4566ff7c3b8438461d2194a656
17056 pts/4 Ssl+ 0:03 /home/production/dockyard/erts-7.2/bin/beam.smp -- -root /home/production/dockyard -progname home/production/dockyard/releases/0.2.5/ -- -home /home/production -- -boot /home/production/dockyard/releases/0.2.5/dockyard -mode embedded -config /home/production/dockyard/running-config/sys.config -boot_var ERTS_LIB_DIR /home/production/dockyard/erts-7.2/../lib -pa /home/production/dockyard/lib/dockyard-0.2.2/consolidated /home/production/dockyard/lib/dockyard-0.2.5/consolidated -sname dockyard -setcookie IUKRVGTANEVYTXJOYWYY -user Elixir.IEx.CLI -extra --no-halt +iex -- console
View .travis.yml
- google-chrome
- google-chrome-stable
- node_modules
View mix.exs
defmodule DockYard.Mixfile do
use Mix.Project
def project do
[app: :dockyard,
version: "0.2.5",
elixir: "~> 1.2",
build_embedded: Mix.env == :prod,
start_permanent: Mix.env == :prod,
elixirc_paths: elixirc_paths(Mix.env),
View gist:98e704a795b0e7a10d0b51ddef0fbbf4
* ecto (Hex package)
the dependency ecto
> In deps/scrivener/mix.exs:
{:ecto, "~> 1.0", [optional: false, hex: :ecto, manager: :mix]}
does not match the requirement specified
> In deps/phoenix_ecto/mix.exs:
{:ecto, "~> 1.1.2", [optional: false, hex: :ecto]}
Ensure they match or specify one of the above in your deps and set "override: true"
** (Mix) Can't continue due to errors on dependencies