...doing a git blame, git will blame the person who added or removed white space in a line (e.g. by indenting), not the person who originally wrote the code.
...git blame -w to ignore such white-space changes. You want this. \ Note that you can also use it when diffing: git diff -w. Example Consider this method, created by...
You want Spring for super-fast binstubs like bin/rails or bin/rspec which avoid Rails boot time. You want parallel_tests to speed up full test runs of large test suites...
...Unfortunately, you do not want parallel_tests to use your Spring binstubs as those parallelized tests will share data and/or loose some information. There are some issues about this on...
...default distribution from Ubuntu 14.04 (trusty) to 16.04 (precise). This might break your test setup for new builds. You can solve this issue by freezing your test distribution in the...
...travis.yml to Ubuntu 14.04 until you have the time to solve all the issues you will have in 16.04: dist: trusty Error details Here are few indicators that you ran...
...click', cssSelector, handler) Comparison Action jQuery DOM API equivalent Find descendant(s) by CSS selector .find(selector) one: .querySelector(selector), many: .querySelectorAll(selector) Test an element (returns boolean)
...matches(selector) Test for class presence (boolean) .hasClass(class) .classList.contains(class) Add class .addClass(class) .classList.add(class) Remove class .removeClass(class) .classList.remove(class) Toggle class .toggleClass(class) .classList.toggle(class)
...you can force absolute URLs throughout a response. Now you want to modify URLs similarly, but only in parts of a view (or controller) logic. Here is how.
...has only been tested on a Rails 2 application. It should work similarly for Rails 3. Put this into your ApplicationController: def rewrite_options(*args) options = super options.merge!(:only_path...
Active Record's select method allows you to make use of the power of MySQL select statements. On the one hand it allows you to select specific fields. Post.select("content...
...results in the following query: "SELECT content FROM `posts`" This means that your models will be initialized with only the content attribute and you will not be able to access...
Unfortunately, Capybara does not offer a switch to disable cookies in your test browser. However, you can work around that by using a tiny Rack middleware -- it works for both...
...Selenium and non-Selenium tests. Wouldn't it be nice to say something like this? Given cookies are disabled When I try to sign in Then I should see "Can...
...UI's date picker and date time picker doesn't work on touch interfaces. Solution 1: Use Mobiscroll Another way is to detect touch devices and for those devices use...
...the Date and DateTime picker from Mobiscroll instead: if (isTouchDevice()) { $('.date_picker').scroller(); } else { $('.date_picker').datepicker(); } Mobiscroll uses a spinning wheel UI for picking dates and times, as known...
Since we are using LoDash instead of UnderscoreJS in recent/current projects, you should keep in mind that their syntax is a bit different. UnderscoreJS In UnderscoreJS, methods always return a...
...x).uniq() // => [1, 2] If you want to chain multiple calls, you need to start off with a _.chain, and call value() to terminate the chain. _.chain(x).uniq().map...
require 'logger' log = Logger.new('log/mylog.log') log.info 'Some information' log.debug 'Debugging hints' log.error StandardError.new('Something went wrong') Logger does a number of things well: Message type (info / debug / error...
Log entries are timestamped Writing log output is synchronized between threads Logged errors are printed with full backtraces If you don't like the output format, you can...
Here is a symbol of an eight note: ♪ Its two-byte hex representation is 0x266A. This card describes how to create a string with this symbol in various languages.
Since our tool chain (editors, languages, databases, browsers) is UTF-8 aware (or at least doesn't mangle bytes), you can usually get away with just pasting the symbol...
Automatically convert bitmap images like JPEGs, GIFs and PNGs to the crisp, clean, scalable vector art of EPS, SVG, and PDF with the world's best auto-tracing software.
...of things, and grownup professionals plan for it, just as they plan for budget shortfalls and extra rounds of revision...
...work cross-domain by tunneling all communications through an IFRAME on your page. Note sure if it's a wise idea, but it's a thing now...
jQuery plugin to fire events when user's cursor aims at particular dropdown menu items. For making responsive mega dropdowns...
...let you move back and forth through the user's history, as well as -- starting with HTML5 -- manipulate the contents of the history stack...
This article shows how to create a Sass mixin for a colored button. The button's foreground color is dynamically chosen between either black or white, depending on the given...
...background color. It's a nice intro into @if and @else conditionals in Sass...
...helpers for poking around at your Capybara driven browser's cookies in integration tests. Supports Capybara's bundled drivers (rack-test, Selenium Webdriver), and adapters for other drivers may be...
Twitter's Bootstrap CSS blueprint as a jQuery UI theme. Even if you don't want to use Bootstrap as...
When you simply want to get to know Puppet, follow puppetlabs’ Learning Puppet Docs. They give you a handy introduction inside a virtual machine they provide. You can watch the...
...cheatsheat and their learn-puppet virtual machine. #Installation and basic configuration on Ubuntu Linux: sudo apt-get install puppet, then follow this guide starting at "Creating a Puppet configuration"
Cucumber's docstrings let you add long strings to a step like this: # foo.feature Given this text: """ First line Second line Second Paragraph """ # foo_steps.rb Given /^this text:$/ |docstring| puts docstring.split...
# Does not work: Given this text: """ Docstrings work like this: \"\"\" Docstring example \"\"\" You see? """ Self-made Solution Cucumber Transforms to the rescue! Transforms are run on step arguments after...
There seems to be no way to use therubyracer -v '0.11.4' and libv8 -v '3.11.8.17' on OS X Mavericks. However, running bundle update therubyracer worked for me. It installed therubyracer...
...v '0.12.1' and libv8 -v '3.16.14.3' and I had not side effects. Log of my attempts to get it working Probably you got here when bundling failed building native extensions...
For my Gem Session project Holly I ran the Ironman of drag'n...
...drop implementations: Dragging in nested lists User-definable order of items Complicated item elements with super-custom CSS and other Javascript functionality Items that can be both leaves and containers...
has_one :note end class Note < ActiveRecord::Base belongs_to :project end Now say we need a validation that ensures that a description is set (validates_presence_of :description...
...within Note but only if the Project has a flag called external set to true. The following code will lead to some problems as the associated object is not present...