Native promises have no methods to inspect their state. You can use the promiseState function below to check whether a...

I often see the use of || to set a default value for a variable that might be nil, null or...

Capybara clears cookies before each scenario, but not other client-side data stores. If your app is using localStorage or...

Webpack is the future. We're using it in our latest Rails applications. For tests, we want to compile assets...

This card will show you a cool way to define a class using Struct.new. A common usecase for Structs are...

makandra dev

ChromeDriver clicking works by simulating a mouse click in the middle of the element's first client rect (or bounding...

Middleman is a static page generator that brings many of the goodies that Rails developers are used to.

rspec.info

In modern default RSpec configurations, your tests are usually run in random order. This helps to detect "flickering" tests that...

makandra dev
javascript.info

To move elements around we should be familiar with coordinates. Most JavaScript methods deal with one of two coordinate systems...

makandra Operations

on the bash (issued as postgres user) Start/Stop/Restart PostgreSQL pg_ctl -D $configdir start|stop|restart Start/Stop/Restart the corresponding PostgreSQL...

Occasionally, you have to talk to APIs via HTTPS that use a custom certificate or a misconfigured certificate chain (like...

medium.com

As web developers, we know how easy it is to end up with web page bloat. But loading a webpage...

stackoverflow.com

window.getSelection().toString(); Browser support: IE9+, Android 4.3+, Safari 5+

developer.mozilla.org

You can easily have a JavaScript hash/object that returns a default value for unset keys/properties -- as long as you need...

There seems to be a nasty bug in Chrome 56 when testing with Selenium and Capybara: Slashes are not written...

Web technology is a broad field and you cannot be an expert in all aspects. However, it is useful to...

Just like we use gems on the server, we use third party JavaScript libraries in the browser. These typically provide...

medium.freecodecamp.com

Collection of useful tools in the Chrome JavaScript console. Make the whole page editable This is not special to Chrome...

TLDR: A function is hard to use when it sometimes returns a promise and sometimes throws an exception. When writing...

smashingmagazine.com

A comprehensive introduction to sending HTML emails. Intro: HTML email: Two words that, when combined, brings tears to a developer...

Chrome gives you the currently selected element in the inspector with $0. If you select a button in the DOM...

Plot graphs in Ruby WebGraphviz renders in your browser via JavaScript (to store the rendered graph, extract the SVG using...

makandra dev
medium.freecodecamp.com

The linked article states that CSS breakpoints should group "similar" screen sizes and thus be at: 600px "narrow"

TL;DR Debugging problems with javascript errors in cucumber tests is sometimes easier in the browser. Run the test, stop...