These are the results of the "personal tech stack survey". I've included only the most popular mentions, maybe it can help you find one or two useful tools for...
...Command line UI for git. htop (10 users) An improved "top". fzf (8 users) Provides super-fast fuzzy-finding in various contexts (for example for shell command history).
...and extract it:\ tar xvfz rubygems-1.3.7.tgz If you previously had RubyGems installed via apt: \ sudo apt-get remove rubygems Install RubyGems:\ cd rubygems-1.3.7 && sudo ruby setup.rb
sudo ln -s /usr/bin/gem1.8 /usr/bin/gem If gem list does not show all gems you previously had, you can create a symlink to your old gem directory:\ cd /usr/local/lib/ruby && sudo...
...you, like a browser would (e.g. move block elements out of parents which are specified to not allow them). >> Nokogiri::HTML.fragment(" foo bar ").to_s => " foo bar "
...HTML. And you don't want to be the one to blame when the SEO folks complain about an empty . To avoid said behavior, use Nokogiri::XML instead of Nokogiri...
...Consider this HTML: Hello World Lorem ipsum... Hello Universe Lorem ipsum... Now let's say you obtain a list of all such message containers as an array: messages = page.all('.message...
messages[0].find('h2', :text => 'Hello World').text => "Hello World" Now we search inside the same container as above, which contains "Hello World" as its headline. \
Most of the JavaScript snippets have code that manipulates the DOM. For that reason dom manipulating javascript code should have been executed after the DOM has loaded completely. That means...
...above would have the advantage not to pollute the global scope and to reduce unexpected side-effects...
...t requested an action for a while. Note that this is different from deleting sessions some time after the last login, which is the default. Also note that this is...
...probably a bad idea. Most sites keep sessions alive forever because having to sign in again and again is quite inconvenient for users and makes your conversion rates go down...
...a great jQuery library to make (large) fields more usable. For Bootstrap 3 there is select2-bootstrap-theme. It won't work for Bootstrap 4, but rchavik's fork does...
...if you have some. @import ~bootstrap/scss/bootstrap/variables @import ~bootstrap/scss/bootstrap/mixins @import ~font-awesome/scss/font-awesome @import ~select2/src/scss/core @import ~select2-bootstrap-theme/src/select2-bootstrap4.vars @import ~select2-bootstrap-theme/src/select2-bootstrap @import ~select2-bootstrap-theme/src/select2-bootstrap4.after
...gem 'cucumber_factory' Run bundle update on any added/changed gem, e.g. bundle update cucumber capybara selenium-webdriver database_cleaner cucumber_spinner Error messages & solutions uninitialized constant JSON -> Add gem 'json...
...to your Gemfile uninitialized constant Selenium -> Add gem 'selenium-webdriver' to your Gemfile Failing Cucumber steps that use find Capybara 1's #find method raises an error if nothing could...
...provides you some methods that help you to write readable and understandable method chains. See yourself: Example // before $('.some').show().children().doThat(); window.setTimeout(function(){ $('some').children().doSomething().hide(function() { window.setTimeout...
otherStuffToDo(); }, 1000); }); }, 500); // after $('.some').show().children().doThat() .wait(500) .doSomething().hide() . wait(1000) . otherStuffToDo(); jquery-timing transformed the setTimeout callback into a chainable method. Now the code is...
...give you the =~ matcher: actual_array.should =~ expected_array Rspec 3 With RSpec 3's expect syntax you can choose one of these two matchers: expect(actual_array).to match_array...
...but contain_exactly takes a list of elements as varargs. Test::Unit If you install shoulda-matchers you can say: assert_same_elements([:a, :b, :c], [:c, :a, :b])
Here is a hacky way to load dumps directly from the source server, without fully copying them over and extracting them first. It may break horribly for you. This is...
...the dark side of the force. Install pipe viewer, if you don't have it already: sudo apt-get install pv Know the location of the dump file on the...
WProofreader is a spelling and grammar checking tool that integrates with textareas and numerous WYSIWYG editors. While it usually activates automatically, depending on your application, it may fail to boot...
...do that ourselves, so we disable it autoDestroy: true, lang: 'de_DE', serviceId: '...', // ... } Ensure https://svc.webspellchecker.net/spellcheck31/wscbundle/wscbundle.js is loaded as described in the docs. To activate WProofreader, you can now...
...language when they visit the root path. Here is how to do it without a server-side component (like a Rails application). Use JavaScript's navigator.language (real browsers and IE11...
...following JavaScript will try to auto-detect a user's preferred language. It understands strings like like de_AT, and if the user prefers neither of your supported languages it...
...dependencies and database types. Here's what Gemika can give your test's development setup (all features are opt-in): Test one codebase against multiple sets of gem dependency sets...
...currently MySQL or PostgreSQL). Compute a matrix of all possible dependency permutations (Ruby, gem set, database type). Manually exclude incompatible dependency permutations (e.g. Rails 5.0 does not work with Ruby...
In Capistrano 2, directories in shared_children used to be symlinked to the shared directory during the finalize_update task. # /lib/capistrano/recipes/deploy.rb _cset :shared_children, %w(public/system log tmp/pids) # ... task :finalize...
...update, :except => { :no_release => true } do # ... shared_children.map do |d| run "ln -s #{shared_path}/#{d.split('/').last} #{latest_release}/#{d}" # <-- symlinks only the last segment here end # ... end This would symlink...
...could also use Haml instead. Example Consider the following helper. def greeting message = ''.html_safe message << 'Welcome to ' message << content_tag(:span, Rails.env, class: 'greeting--location') content_tag :div, message...
...That looks clumsy and is hard to read. Wouldn't it be nicer to say something like this? def greeting render_haml <<-HAML .greeting Welcome to %span.greeting--location = Rails.env
jQuery offers many different methods to move a selection through the DOM tree. These are the most important: $element.find(selector) Get the descendants of each element in the current set...
...of matched elements, filtered by a selector. Does not find the current element, even it matches. If you wanted to do that, you need to write $element.find(selector).addBack(selector...
This is an extract from the linked article. It shows an approach on how to implement encrypted passwords with the AWS Key Management Service (KMS). For most applications it's...
...enough to use a hashed password with a salt (e.g. the gem devise defaults to this). Upon password creation Generate hash as hash of password + salt. Encrypt the hash with...
...that whenever you are using those values for database interaction, you'll end up scoping on the wrong records since the database representation of these dates is not converted to...
With ES2021 you now can use str.replaceAll(), Promise.any(), logical assignment operators, numeric separators and WeakRef on all major browsers except IE11. replaceAll JavaScript's replace(searchValue, replaceValueOrFn) by...
...default replaces only the first match of a given String or RegExp. When supplying a RegExp as the searchValue argument, you can specify the g ("global") modifier, but you have...
Use form models to handle this problem Or soften the validation to validates_presence_of :parent Usually you would validate presence of parent object id, like in this...
validates_presence_of :parent_id # <- end With the parent already persisted creating nesteds still works fine. But one will encounter a 'parent id missing' error on creating a parent...
...You can add other AWS account depending files like .fog or .guignol.yml too. Create symlinks for some config files like .aws_credentials and .fog: ln -s ~/.aws/.aws_credentials ~/.aws_credentials
...export EC2_CERT=~/.aws/cert-ec2.pem export AWS_CREDENTIAL_FILE=~/.aws/aws-credentials Perhaps you also want to set a default region and the JAVA_HOME: export EC2_REGION=eu-west-1
Say you have an RGBA color that you need as a non-transparent color because of reasons. Basically, this is possible. Just understand that you will convert your RGBA color...
...your background is white, so you'll use #fff as that for examples below. Simple approach When your know the RGBA color's base RGB color (e.g. your brand color...
In specs, the session never persists but is always a new object for each request. Data put into the session in a previous request is lost. Here is how to...
...circumvent that. What's going on? You are making ActionController::TestRequests in your specs, and their #initialize method does this: self.session = TestSession.new This means that each time you say something...