Get node's parent element with Capybara
To get parent of Capybara's node do the following:
node = page.find '#selector'
parent = node.find(:xpath, '..')
parent_of_parent = node.find(:xpath, '../..')
How to create Nokogiri node if node name collide with Nokogiri::XML::Builder methods
Suppose you want to create node with name text, but this method already present in Nokogiri::XML::Builder. The solution is to add underscore after node name:
Nokogiri::XML::Builder.new do |xml|
xml.text_ 'something' # this should create node with name 'text'
end
Run rake tasks from ruby script
require 'rake'
rake = Rake.application
rake.init
# you can import addition *.rake files
# app.add_import 'some/other/file.rake'
rake.load_rakefile
rake['db:test:prepare'].invoke()
Extract contents of pfx bundle with Openssl
This card is the copycat from this awesome article, all thanks to Zsolt Agoston.
# Extract the private key
openssl pkcs12 -in wild.pfx -nocerts -nodes -out priv.cer
# Extract the public key
openssl pkcs12 -in wild.pfx -clcerts -nokeys -out pub.cer
# Extract the CA cert chain
openssl pkcs12 -in wild.pfx -cacerts -nokeys -chain -out ca.cer
Arch linux system upgrade
sudo pacman-mirrors -f5 # to update mirror list
sudo pacman -Syyu # system upgrade
Or oneliner
sudo pacman-mirrors -f5 && sudo pacman -Syyu
Reset RabbitMQ (Manjaro linux)
To reset RabbitMQ Mnesia database ensure that RabbitMQ process is running on your system. Then stop the running application:
sudo rabbitmqctl stop_app
After that run the command:
sudo rabbitmqctl reset
And then start the app:
sudo rabbitmq start_app
Ubuntu 14.04 locales reconfiguration.
If you getting messages like this: perl: warning: Setting locale failed. in your console, then you must configure your locales. First run:
locale
You will see something like this:
LANG=C
LANGUAGE=
LC_CTYPE=fi_FI.UTF-8
LC_NUMERIC="C"
LC_TIME="C"
LC_COLLATE=fi_FI.UTF-8
LC_MONETARY="C"
LC_MESSAGES=fi_FI.UTF-8
LC_PAPER="C"
LC_NAME="C"
LC_ADDRESS="C"
LC_TELEPHONE="C"
LC_MEASUREMENT="C"
LC_IDENTIFICATION="C"
LC_ALL=
Then generate the missing locale and reconfigure locales...