Skip to content

Instantly share code, notes, and snippets.

@fgrehm
fgrehm / gist:5424514
Last active Dec 16, 2015
Vagrant + Docker notes
View gist:5424514

To kick off the provider would be nice to have the big picture of out how Vagrant features / commands map to docker "stuff". These are thoughts about how the integration might look like under the hood:


vagrant up

  • how can we tell docker to "just start" a container? "docker start base" would start the base image right?
  • would probably need to commit the base "box" image and interact with that
  • would it make sense to have a "commandless" docker run -d <image>?
View en.yml
en:
activemodel:
errors:
messages:
invalid_url: "must be a valid URL"
View ajax-handlers.coffee
jQuery ($) ->
$indicator = $('#ajax-indicator')
$message = $indicator.find('span')
$(document).ajaxSend (event, jqXHR, ajaxOptions) ->
msg = if ajaxOptions.type == 'GET' then 'Carregando' else 'Processando'
$message.text("#{msg}...")
$indicator.show()
$(document).ajaxStop -> $indicator.hide()
@fgrehm
fgrehm / gist:4952397
Last active Dec 13, 2015
Removing all installed gems
View gist:4952397
gem list | cut -d" " -f1 | xargs gem uninstall -aIx
gem list | grep -v 'test-unit\|psych\|rdoc\|minitest\|json\|io-console\|bigdecimal\|rake' | cut -d" " -f1 | xargs gem uninstall -aIx
@fgrehm
fgrehm / gist:4489503
Last active Dec 10, 2015
knockout.js + handlebars
View gist:4489503
class HandlebarsTemplateEngine extends ko.templateEngine
renderTemplateSource: (compiledTemplate, bindingContext, options) ->
data = bindingContext.$data
htmlResult = compiledTemplate(data)
ko.utils.parseHtmlFragment(htmlResult)
makeTemplateSource: (template, templateDocument) ->
throw "Could not find a template named: '#{template}'" unless JST[template]
JST[template]
@fgrehm
fgrehm / gist:4253540
Created Dec 10, 2012
Delete multiple git tags
View gist:4253540
for tag in $(git tag | grep -E 'v0\.([0-5])'); do git tag -d $tag && git push origin :refs/tags/$tag; done
@fgrehm
fgrehm / gist:4251894
Created Dec 10, 2012
Inserts a new element in order
View gist:4251894
$.fn.insertInOrder = (newElement, iterator) ->
$container = $(this)
$siblings = $container.children()
$newElement = $(newElement)
if $siblings.length == 0
$container.append($newElement)
return this
index = _.sortedIndex $siblings, newElement, iterator
@fgrehm
fgrehm / gist:4127812
Created Nov 21, 2012
Backbone.Events.once
View gist:4127812
// Based on
// https://github.com/tbranyen/backbone/blob/70eed5bc9e5d3587bd85e9ff56f8ea99a7f8501d/backbone.js#L130-141
// Bind an event like `on`, but unbind the event following the first trigger.
window.Backbone.Model.prototype.once =
window.Backbone.View.prototype.once =
window.Backbone.Events.once = function (events, callback, context) {
  // Bind the original events.
  this.on(events, callback, context);
@fgrehm
fgrehm / gist:4017563
Created Nov 5, 2012
AJAX helpers for JS specs
View gist:4017563
exports = {}
trueAjax = $.ajax
registry = {}
exports.registerSuccess = (url, result) ->
registry[url] = {success: result}
exports.registerFailure = (url, result) ->
registry[url] = {failure: result}
@fgrehm
fgrehm / gist:3841631
Created Oct 5, 2012
guard-rspec with acceptance and unit tests split up
View gist:3841631
guard 'rspec', :version => 2, :spec_paths => ["spec/models", 'spec/controllers'] do
watch(%r{^spec/(models|controllers).+_spec\.rb$})
watch(%r{^lib/(.+)\.rb$}) { |m| "spec/lib/#{m[1]}_spec.rb" }
watch('spec/spec_helper.rb') { ["spec/controllers", 'spec/models'] }
watch('spec/factories/*.rb') { ["spec/controllers", 'spec/models'] }
watch(%r{^app/(.+)\.rb$}) { |m| "spec/#{m[1]}_spec.rb" }
watch(%r{^app/(.*)(\.erb|\.haml)$}) { |m| "spec/#{m[1]}#{m[2]}_spec.rb" }
watch(%r{^app/controllers/(.+)_(controller)\.rb$}) { |m| ["spec/routing/#{m[1]}_routing_spec.rb", "spec/#{m[2]}s/#{m[1]}_#{m[2]}_spec.rb", "spec/acceptance/#{m[1]}_spec.rb"] }
You can’t perform that action at this time.