makandra dev

The Capybara API is somewhat hard for parse for a list of methods you can call on a Capybara node. Below you can find such a list. It's all...

...credit goes to the Capybara committers. When you talk to Capybara from a Cucumber step definition, you always have page as the document root node, or whatever you scoped to...

tl;dr: Always have your attachment path start with :rails_root/storage/#{Rails.env}#{ENV['RAILS_TEST_NUMBER']}/. The directory where you save your Paperclip attachments should not look like this: storage/photos/1...

...storage/photos/2/... storage/photos/3/... storage/attachments/1/... storage/attachments/2/... The problem with this is that multiple environments (at least development and test) will share the same directory structure. This will cause you pain eventually. Files...

...problems installing a gem and get a error collect2: error: ld returned 1 exit status it's due to missing development headers of a library (ld is the linker).

/home/foobar/.rvm/rubies/ruby-2.2.3/bin/ruby -r ./siteconf20150915-3539-1i9layj.rb extconf.rb creating Makefile make "DESTDIR=" clean make "DESTDIR=" compiling generator.c linking shared-object json/ext/generator.so /usr/bin/ld: cannot find -lgmp collect2: error: ld returned 1 exit status

...may want to know the current commit. [1]\ Luckily, there is lots of useful stuff in the .git directory. Commit hash that you are currently applying cat .git/rebase-merge/stopped-sha

...you want to inspect the original commit for its changes, for example like: git show `cat .git/rebase-merge/stopped-sha` Current commit's message cat .git/rebase-merge/message In case you forgot what the changes...

github.com

FactoryBot allows a :class option to its factory definitions, to set the class to construct. However, this option is not supported for traits. Most often, you can just define a...

If you need/want to use traits instead (for example, it might make more sense semantically), you can not use a :class on a trait. In that case, use initialize...

If you want a widget for awesome that runs a command regularly (every X seconds) and puts the output into your awesome panel, this is for you.

...below into your ~/.config/awesome/rc.lua. It supplies two methods: execute_command will run a command and return its output. Multiple lines will be joined into one line. The code is from...

Sometimes you can make your life easier by not allowing a record attribute to be changed after the record was created. An example for this is when your model represents...

...a child node in a composition and has logic that is hard to support for cases when the container changes. Here is an example for a container Region composed of...

...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...

makandra dev

...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...

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...

makandra dev
vectormagic.com

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.

makandra dev
zeldman.com

...of things, and grownup professionals plan for it, just as they plan for budget shortfalls and extra rounds of revision...

makandra dev
github.com

...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...

makandra dev
github.com

jQuery plugin to fire events when user's cursor aims at particular dropdown menu items. For making responsive mega dropdowns...

developer.mozilla.org

...let you move back and forth through the user's history, as well as -- starting with HTML5 -- manipulate the contents of the history stack...

intridea.com

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...

github.com

...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...