Skip to content

Instantly share code, notes, and snippets.

Avatar

Ritchie Martori ritch

  • Fremont, California
View GitHub Profile
@ritch
ritch / ex.js
Last active Jul 3, 2020
What is the best way to document complex / dynamic objects as arguments to a function?
View ex.js
/**
* Below are several examples of methods that are difficult to clearly annotate with JSDoc annotations.
*/
/**
* @param {Object} people An index of people keyed by a person's name
* @returns {Object} map An index of zipcodes keyed by a person's name
*/
function find(people) {
@ritch
ritch / example.js
Last active Jun 6, 2018
LoopBack example for accessing the current user.
View example.js
/**
* Dependencies
*/
var request = require('request');
var loopback = require('loopback');
var app = loopback();
var memoryDataSource = loopback.memory();
var HEADER_NAME = 'x-access-token'; // subject to change
View sequence.example.ts
interface Envelope {
writeToResponse()
}
class File extends Envelope {
writeToResponse(res) {
res.setHeader('content-type', this.getContentType())
this.readableStream.pipe(res)
}
}
@ritch
ritch / preferences.js
Last active Feb 2, 2017
Input files for the Express.js scaffolding tool
View preferences.js
var $ = exports
$.GENERATORS = [
'package',
'app',
'error',
'start',
'resource',
'view',
'orm',
@ritch
ritch / co-loopback.js
Last active Jun 8, 2016
LoopBack w/ a co-routine based API
View co-loopback.js
var co = require('co');
var thunk = require('thunkify');
var loopback = require('loopback');
var memory = loopback.memory();
var product = memory.createModel('memory');
// thunkify the loopback model
thunkify();
// create some products in parallel
@ritch
ritch / user.java
Last active Dec 31, 2015
LoopBack LBUser in iOS
View user.java
// UserRepository and User do not exist in the sdk
UserRepository repository = adapter.createRepository(UserRepository.class);
HashMap attributes = new HashMap<String, Object>();
attributes.put("email", "me@domain.com");
attributes.put("password", "secret");
User me = repository.createModel(attributes);
me.save(new Model.Callback() {
@Override
public void onSuccess() {
View gist:7996908
// DAO
function create(obj, callback) {
var Model = this;
var ctx = new EventEmitter();
ctx.data = obj;
ctx.callback = callback;
Model.emit('create:start', ctx);
@ritch
ritch / 0-view.html
Last active Dec 28, 2015
An end to end example integrating LoopBack, Angular, and MySQL. Run the full app - http://loopback-foodme.herokuapp.com View the source - http://github.com/ritch/loopback-foodme
View 0-view.html
<!--
An Angular View to render a list of Restaurants
-->
<table class="table table-hover table-striped" ng-controller="RestaurantsController">
<tr ng-repeat="restaurant in restaurants">
<td>
<a href="#/menu/{{restaurant.id}}">
<img class="img-rounded pull-left" ng-src="img/restaurants/{{restaurant.shortName}}.jpg">
<b>{{restaurant.name}}</b>
</a>
@ritch
ritch / RestaurantsController.js
Created Nov 16, 2013
Connecting Angular to MySQL through LoopBack
View RestaurantsController.js
app.controller('RestaurantsController',
function RestaurantsController(Restaurant) {
$scope.restaurants = Restaurant.query(filterAndSortRestaurants);
});
@ritch
ritch / bacn.js
Last active Dec 27, 2015
BACN + LoopBack Example
View bacn.js
// ... imagine backbone boilerplate here... pointing to localhost:3000
var Product = Backbone.Model.extend({
url: '/products'
});
/* would be nice if I could just include this here...
Product.validatesLengthOf('name', {
min: 3,
You can’t perform that action at this time.