SudoSlider: a jQuery slider
Flexible jQuery content slider with minimal markup assumptions, customizable controls, and responsive slide sizing for mixed media like images, video, and text.
Working around OpenSSL::SSL::SSLErrors
Ruby and curl requests can fail when a server only accepts older SSL/TLS versions; forcing a specific protocol version can restore connectivity.
whenever: Make runner commands use bundle exec
whenever runner jobs can fail in cron because bundle exec is omitted, leading to Bundler load errors. A custom job_type restores the correct Rails runner command.
Material Design - Google design guidelines
Google’s Material Design provides a unified system for building consistent, intuitive interfaces across platforms and devices.
shoulda-matcher methods not found in Rails 4.1
allow_value and other shoulda-matchers methods can disappear under Rails 4.1 with Spring, causing NoMethodError despite the gem being listed.
Telling Spring to watch certain directories/files
Spring ignores watch paths that do not exist when #watch runs, so file or directory changes may not trigger a reboot until Spring is restarted.
Device sizing and network throttling are coming to Chrome DevTools
Chrome DevTools is gaining device sizing and network throttling, reducing the need for awkward Linux workarounds when simulating slower connections.
How to test bundled applications using Aruba and Cucumber
Bundler environment variables can shadow a Rails test app when integration-testing CLI tools with Aruba and Cucumber. Clearing the Bundler env and disabling Spring keeps commands isolated.
Cucumber step to manually trigger javascript events in Selenium scenarios (using jQuery)
Selenium can miss browser events such as change during form input; a Cucumber step can fire jQuery-registered events manually with execute_script.
Tearing Down Capybara Tests of AJAX Pages
Pending AJAX requests can die when a Capybara test ends or switches scenarios, causing flaky JavaScript specs. Waiting for the page to load helps avoid the failure.
ruby-concurrency/atomic · GitHub
Atomic value updates in multi-threaded Ruby code prevent race conditions when several threads read and write shared state.
Hover an element with Capybara < 2
Triggering hover events in older Capybara versions requires a browser action on the native element when built-in helpers are unavailable.
Ruby 2.1 returns a symbol when defining a method
Ruby 2.1 method definitions return the method name as a Symbol, enabling decorator-style patterns with private and memoize.
Ruby 2.0 introduces keyword arguments
Named method parameters in Ruby 2.0 make option handling clearer and accept extra settings with **options; Ruby 2.1+ also allows required named arguments.
Assignable_Values 0.11.0 released
assignable_xxx gains :include_old_value, making old values available when checking assignments.
Consul 0.12.0 released
Consul 0.12.0 adds support for Rails 4.1 and Ruby 2.1, expanding compatibility for projects using newer framework and language versions.
mattheworiordan/capybara-screenshot
Automatically saves failed Capybara test HTML and screenshots to tmp/capybara, helping diagnose flaky browser failures in Cucumber, RSpec, and Minitest.
If Guard takes forever to start...
guard can take minutes to start when public/system contains many images. Updating the listen dependency to 2.7.7 fixes the delay.
assignable_values 0.11.0 can return *intended* assignable values
assignable_values can keep stale choices valid after related data changes; include_old_value: false returns only the current intended options for dynamic selects.
assignable_values 0.10.0 released
assignable_values 0.10.0 adds support for Rails 4.1 and Ruby 2.1.0.
Things to consider when using Travis CI
Fragile CI builds on Travis often fail with Ruby 1.8.7, incompatible Rubygems, or debugger gems in the test bundle.
Atomic Grouping in regular expressions
Atomic groups prevent regex backtracking inside a subpattern, which can speed up matches on long strings and avoid catastrophic backtracking.
rbenv: How to update list of available Ruby versions on Linux
rbenv can fail with “definition not found” when a Ruby version is missing from ruby-build; updating the plugin refreshes the available version list on Linux.
EdgeRider 0.3.0 released
Adds compatibility with Rails 4.1 and Ruby 2.1, including a forward port of ActiveRecord::Base.scoped for newer Rails versions.