- Static data as of April 13, 2015, some updates as of October 1, 2015
# | Metric | Haml | Slim | Winner |
---|---|---|---|---|
1 | Issues | Slim | ||
2 | Stars | Slim | ||
3 | Quality | -- | Haml | |
4 | Test Coverage | ![Code Climate coverage](https://i |
// This is a proper alternative to | |
// https://github.com/BuckleScript/bucklescript/blob/b9508105b1a35537bdea9a1fabd10f6c65f776b4/jscomp/bsb/templates/react-hooks/src/FetchedDogPictures/FetchedDogPictures.re#L14 | |
// The one in that file uses Promise, but that's *wrong*. | |
// We only used promise as a demo of its API. We'll remove it soon. | |
// As you can see below, the pure XMLHttpRequest code is just as clean, | |
// less mysterious for all, more performant, extensible, and actually correct. | |
// Ignore these externals for now. They're just for illustration | |
// purposes. I just copy pasted the Js code from |
// Add a 401 response interceptor | |
window.axios.interceptors.response.use(function (response) { | |
return response; | |
}, function (error) { | |
if (401 === error.response.status) { | |
swal({ | |
title: "Session Expired", | |
text: "Your session has expired. Would you like to be redirected to the login page?", | |
type: "warning", | |
showCancelButton: true, |
function timerMiddleware({dispatch, getState}) { | |
const timers = {}; | |
return next => action => { | |
if(action.type == "START_TIMER") { | |
const {action, timerName, timerInterval} = action.payload; | |
clearInterval(timers[timerName]); |
# | Metric | Haml | Slim | Winner |
---|---|---|---|---|
1 | Issues | Slim | ||
2 | Stars | Slim | ||
3 | Quality | -- | Haml | |
4 | Test Coverage | ![Code Climate coverage](https://i |
require 'asciidoctor' | |
class MultipageHtml5Converter | |
include Asciidoctor::Converter | |
include Asciidoctor::Writer | |
register_for 'multipage_html5' | |
EOL = "\n" | |
def initialize backend, opts |
# | |
# This first version should work on Mac OS X and Linux, but it spawns a process | |
# | |
# http://stackoverflow.com/questions/7220896/ | |
# https://github.com/rdp/os/blob/master/lib/os.rb#L127 | |
# http://www.ruby-doc.org/core-2.0/Process.html | |
# | |
# A better - but more complicated - way to achieve the same is documented here: | |
# | |
# https://build.betterup.com/tracking-a-processs-memory-usage-in-ruby/ |
guard :rspec, cmd: 'zeus rspec --color' do | |
watch(%r{^spec/.+_spec\.rb$}) | |
watch(%r{^lib/(.+)\.rb$}) { |m| "spec/lib/#{m[1]}_spec.rb" } | |
watch('spec/spec_helper.rb') { "spec" } | |
# Rails example | |
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"] } | |
watch(%r{^spec/support/(.+)\.rb$}) { "spec" } |
file_to_disk = './tmp/large_disk.vdi' | |
Vagrant::Config.run do |config| | |
config.vm.box = 'base' | |
config.vm.customize ['createhd', '--filename', file_to_disk, '--size', 500 * 1024] | |
config.vm.customize ['storageattach', :id, '--storagectl', 'SATA Controller', '--port', 1, '--device', 0, '--type', 'hdd', '--medium', file_to_disk] | |
end |