'use strict'; | |
/* | |
ember-cli's live-reload doesn't work out of the box for our configuration | |
because we run in local dev using www.yapp.dev over SSL. We use nginx to | |
terminate SSL and reverse proxy appropriate requests to ember-cli. | |
A configuration that gets live-reload working is implemented by this | |
addon plus nginx rules. This addon includes a script tag in index.html | |
as defined by the `contentFor` method below. Our standard nginx config |
//... | |
app.import('vendor/ember-data-shims.js'); | |
//... |
set -e | |
# add docker's own apt repository | |
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add - | |
add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | |
# add hashicorp's apt repository | |
curl -fsSL https://apt.releases.hashicorp.com/gpg | apt-key add - | |
apt-add-repository "deb [arch=amd64] https://apt.releases.hashicorp.com $(lsb_release -cs) main" |
New York, New York, 2459115 | |
Los Angeles, California, 2442047 | |
Chicago, Illinois, 2379574 | |
Houston, Texas, 2424766 | |
Phoenix, Arizona, 2471390 | |
Philadelphia, Pennsylvania, 2471217 | |
San Antonio, Texas, 2487796 | |
Dallas, Texas, 2388929 | |
San Diego, California, 2487889 | |
San Jose, California, 2488042 |
Yapp is hiring a “full-stack” engineer, with key skills Ember.js & Rails. Join our small, talented team and do the best work of your career!
If you are passionate about your craft and want a chance to work remotely with a great team where you can influence the technology, process, product, and culture, read on!
We enable non-developers to create mobile apps for conference, trainings and employee communications. Yapp combines clean design, simple UX, and innovative mobile technology to empower people that may lack technical and design know-how, or just don't have time, to create and publish these apps in minutes.
class SerializeToJsonapi | |
DEFAULT_OPTIONS = { | |
serialization_options: { suppress_self_link: true } | |
} | |
def initialize( | |
model, | |
resource_class, | |
serialization_options = {}, |
require 'redis' | |
# SADD key, member | |
# Adds the specified <i>member</i> to the set stored at <i>key</i>. | |
redis = Redis.new | |
redis.sadd 'my_set', 'foo' # => true | |
redis.sadd 'my_set', 'bar' # => true | |
redis.sadd 'my_set', 'bar' # => false | |
redis.smembers 'my_set' # => ["foo", "bar"] |
My team and I have been working on a new internal component library to share across a few Ember apps. The library is an Ember addon in a private github repo. So far, so good. The off-the-beaten-path part of our requirements is that the components need to be themeable. Specifically, we support a color and a "light" or "dark" aesthetic.
We want a great developer experience for creating and updating these components, so we used ember-freestyle as a devDependency of the library to create a living style guide. We added some UI to allow theme switching and even a checkbox to switch themes every second (thanks ember-concurrency!).
The thing that gave us the biggest challenge was figuring out how to author and apply the styles that were necessarily dynamic. Specifically, the css rules that used the dynamic color.
We decided to organize our styles like so:
app/styles/components/
// bin/generate-reexport-in-app.js | |
const fs = require('fs'); | |
const path = require('path'); | |
let args = process.argv.slice(2); | |
let sourcePath = args[0]; | |
let targetPath = sourcePath.replace(/^addon/,'app').replace(/^\.hbs/, '.js'); | |
let pkg = require('../package.json'); | |
let addonName = pkg.name; | |
let sourceModule = sourcePath.replace(/^addon/,addonName).replace(/\.(js|hbs)$/,''); |