Sandlot collects SMS consent during the app onboarding process. SMS notifications are optional and not required to use the app.
Users enter their phone number to sign in via SMS verification code.
| import Ember from 'ember'; | |
| export default Ember.Controller.extend({ | |
| appName: 'Ember Twiddle', | |
| tags: [], | |
| blah: computed('tags.@each.isActive', function() { | |
| if (isPresent(this.tags)) { | |
| return get(this, 'tags') | |
| .rejectBy('isDeleted') |
| import Ember from 'ember'; | |
| import { filterBy, readOnly, setDiff } from '@ember/object/computed'; | |
| export default Ember.Controller.extend({ | |
| appName: 'Ember Twiddle', | |
| things: readOnly('model'), | |
| truths: filterBy('things', 'is', true), | |
| untruths: setDiff('things', 'truths'), |
Having spent a bit of time working to dockerize an API I wanted to share one of my learnings in case it’s helpful or interesting to others.
The first issue I ran into was how to authenticate requests to gems we host privately on Github. We do this quite a bit throughout our repos.
So I needed a way to grant access to our docker image in order for bundler to run properly. Because were trying to build for production deployment I first decided to remove HTTPS repository references (https://github.com/ldock/) and replace them with SSH URLs (git@github.com:ldock/). But this introduced the challenge of getting the private key on the container securely. I needed the ability to get an authorized SSH key on the image when dependencies were being installed (bundle install) but I did not want to leave the key on the file system after the dependencies were installed.
| module('Acceptance | Rooms', () => { | |
| test('Room page polls for room data', async function(assert) { | |
| assert.expect(2); | |
| let pollingServiceMock = { | |
| start(fetchingTaskInstance, pollingFrequency) { | |
| assert.ok(fetchingTaskInstance, 'Polling started for rooms'); | |
| assert.equal(pollingFrequency, 5000, 'Poll every 5 seconds'); | |
| } | |
| }; |
| import Ember from 'ember'; | |
| export default Ember.Controller.extend({ | |
| queryParams: ['myValue'], | |
| myValue: 1.2, | |
| actions: { | |
| updateValue(value) { | |
| console.log(arguments); |
| import Ember from 'ember'; | |
| import { task } from 'ember-concurrency'; | |
| import { computed } from '@ember/object'; | |
| export default Ember.Controller.extend({ | |
| items: computed('model', function() { | |
| return this.get('model'); | |
| }), | |
| doThis: task(function*(item) { |
| import Ember from 'ember'; | |
| import { task } from 'ember-concurrency'; | |
| import { inject as service } from '@ember/service'; | |
| import { computed } from '@ember/object'; | |
| export default Ember.Controller.extend({ | |
| store: service(), | |
| items: computed(function() { | |
| let store = this.get('store'); | |
| return [ |
| import Ember from 'ember'; | |
| export default Ember.Controller.extend({ | |
| appName: 'Ember Twiddle' | |
| }); |