Skip to content

Instantly share code, notes, and snippets.

Avatar
☁️

Dan Kohn dankohn

☁️
View GitHub Profile
@dankohn
dankohn / circle.yml
Created Jul 16, 2014
Configuring CircleCI, Coveralls, and CodeClimate
View circle.yml
## Customize test commands
test:
post:
- bundle exec rake coveralls:push
## Don't have CircleCI create coverage in an unexpected place, as coveralls wouldn't be able to find it.
general:
artifacts:
- "coverage"
View gist:e3896f9288d19ac1f7a5
def access_own_records
return if @user.super_administrator?
# Anyone can read or update anything they create
[Appointment, Claim, Referral, Study].each do |model|
can([:edit, :index, :read, :update], model,
model.where(created_id: @user.id)) do |instance|
instance.created_id == @user.id
end
end
end
View heroku-bin
macbookair:~/Documents/dev$ git clone https://github.com/dankohn/express-test
Cloning into 'express-test'...
remote: Counting objects: 863, done.
remote: Compressing objects: 100% (724/724), done.
remote: Total 863 (delta 81), reused 855 (delta 73)
Receiving objects: 100% (863/863), 1.06 MiB | 996.00 KiB/s, done.
Resolving deltas: 100% (81/81), done.
macbookair:~/Documents/dev$ cd express-test/
macbookair:~/Documents/dev/express-test (master)$ heroku create
Creating secret-escarpment-4221... done, stack is cedar
@dankohn
dankohn / test_csv.js
Last active Dec 18, 2015
Parsing double-nested CSV fields
View test_csv.js
var csv = require('csv')
var cat = "Text"
var commaCat = "A, B, and C"
var cat2 = "More text"
csv()
.from.array([[cat,commaCat,cat2]])
.to.string( function(innerNest){
console.log(innerNest)
csv()
View k8s_contributors.sql
SELECT
actor.login as contributor,
COUNT(repo.name) AS commits,
FROM
[githubarchive:year.2016]
WHERE
type IN ("PushEvent") AND
repo.name = "kubernetes/kubernetes"
GROUP BY
contributor
@dankohn
dankohn / over_10_contributors.sql
Last active Feb 26, 2017
More than 10 contributors
View over_10_contributors.sql
SELECT
repo.name AS repository,
COUNT(repo.name) AS commits,
EXACT_COUNT_DISTINCT(actor.login) AS contributors
FROM
[githubarchive:year.2016]
WHERE
type IN ("PushEvent")
GROUP BY
repository
View issues.sql
SELECT
repo.name,
ROUND(COUNT(*)/EXACT_COUNT_DISTINCT(actor.login),2) comments_per_author,
EXACT_COUNT_DISTINCT(actor.login ) authors,
COUNT(*) comments
FROM
[githubarchive:year.2016]
WHERE
type IN ('IssueCommentEvent')
AND actor.login NOT IN (
View by_commit.sql
SELECT
repo_name AS repository,
EXACT_COUNT_DISTINCT(author.name) AS authors,
EXACT_COUNT_DISTINCT(committer.name) AS committers,
COUNT(*) AS commits
FROM
[bigquery-public-data:github_repos.commits]
WHERE
committer.date >= TIMESTAMP("2016-01-01 00:00:00")
AND committer.date < TIMESTAMP("2017-01-01 00:00:00")
View project_commits.sql
SELECT
repo_name AS repository,
EXACT_COUNT_DISTINCT(author.name) AS authors,
EXACT_COUNT_DISTINCT(committer.name) AS committers,
COUNT(*) AS commits
FROM
[bigquery-public-data:github_repos.commits]
WHERE
repo_name IN ( "torvalds/linux",
"facebook/react-native",
View commits_and_authors.sql
SELECT
repo.name AS repository,
COUNT(repo.name) AS commits,
EXACT_COUNT_DISTINCT(actor.login) AS committers,
EXACT_COUNT_DISTINCT(JSON_EXTRACT(payload, '$.commits[0].author.email')) AS authors
FROM
[githubarchive:year.2016]
WHERE
type IN ("PushEvent")
GROUP BY