bourbon
Another week of Sass mixins known as bourbon. Phil LaPier (plapier) gave the background-image
mixin support for linear and radial gradients (f54da8f, 5e4cea2, b5d42a7, 36b678e, and a63dade). Sean Lynch fixed the webkit gradients on older devices (e46ba1e).
Matthew Burket (Mab879) fixed the README to point out that Rails 3.0.x is up to 3.0.10 now (098ef82). Matt Jankowski (mjankowski) added a bunch of people to the authors line of the gemspec (72cf1e7) and fixed an interpolation bug in the radial gradient (1fe6fce).
Phil and I had a talk about version numbers, after which Phil released version 1.0.4 of bourbon (1689cce, c994fcd, 07fe351, b67224f, and c6b2b73).
capybara-webkit
More pull requests and refactoring for capybara-webkit over the past week. Joe Ferris (jferris) simplified the Connection
class by introducing a command factory and parser (b4708b2). Lake Denman (ldenman) spelled the word “version” correctly in the README ([25ff48a](http://github.com/thoughtbot/capybara-webkit/commit/25ff48a08a0d14112668a6439a4907d058e7ba3e “Merge pull request #186 from ldenman/master
Fix typo”)). Stephen Delano (sdelano) added support for unsupported content response headers (62e0ec1 and 06a4e95).
clearance
Busy week for the clearance user auth engine! On the documentation side, Dan Croak (croaky) updated the copyright out to 2011 (8001a77), updated the CHANGELOG (644421f), mentioned all possible override points (26933c5), and got explict about the dependencies you need to integrate the Cucumber tests in your app (d4df728). Neil Parikh (neilparikh) rewrote history, claiming the Clearance was extracted from Airbrake instead of Hoptoad (ff404c8). Gabe “typo fixer” Berke-Williams (gabebw) fixed the word “dependent” in the README (bb2e919).
Dan also took note of Cucumber’s removal of web_steps.rb
, which many people think is fantastic, and removed mention of any steps defined there (ece4b10, e01f366, and [fef1fae](http://github.com/thoughtbot/clearance/commit/fef1fae52b7a503cd000ebfbd44ee244416c21b6 “Removing the dependency on:
- features/stepdefinitions/websteps.rb
- features/support/paths.rb
- features/support/selectors.rb
The reason is Cucumber 1.1.0 removes these. They have their own reasons, which are solid:
https://github.com/cucumber/cucumber-rails/commit/f027440965b96b780e84e50dd47203a2838e8d7d”)). Keeping up with the rubygems gem he switched from rake/gempackagetask
to rubygems/package_task
(6759d6d). He also tried to start a fight over how appraisal functions by asking about ignoring appraised gemfile locks (8dde7b0). To finish it off, Dan released verion 0.13.0 of Clearance (b2995c8).
continuous_sprinkles
We had a Sprinkle script for setting up a continuous integration server, named continuous_sprinkles appropriately enough. We don’t use this, so Mike Burns (mike-burns) deprecated it (c7dab0a). Before doing so he pulled in a patch from Ezra Spier (ahhrrr) to update the RVM setup (2f1b8b).
factory_bot
There’s a whole blog post on factory_bot version 2.2 so I’ll be brief: Joshua Clayton (joshuaclayton) removed a bunch of unnecessary public methods such as #ignore
(dc32fd6), #add_child
(481ea09), #attributes
(3bef858), #callbacks
(7f42abe), and #attribute_defined?
(39caed0). He refactored the #add_attribute
method on a definition proxy (a50adda), standardized deprecation warnings (0c84876), moved the exception class definitions around (1153783), and allowed no block to be passed to the #ignore
block (eb21a44). Justin Ko (justinko) rocked our faces with some test cleanups, including removing redundant “should"s in behavior descriptions (334b8a9), then followed up with the equally pleasing feature that removes the need to call #tap
in order to modify your generated object with a block (f32651d). Vasiliy Ermolovich (nashby) updated the supplied step definitions to use FactoryBot.create_list
instead of Fixnum#times
(9fcd0b6). Joe Ferris (jferris) attempted to fix the link to the getting started documentation (f4ee363). Jeff Dutil (jdutil) cleaned up whitespace made by the fixture generator (d364e83).
Anyway, that’s a bunch of stuff, but the point is Josh wrote a blog post and released version 2.2.0 of FactoryBot (41f73b5).
flutie
Some sweet default styles, flutie, got a README update from Tom Crinson (MrJaba) mentioning the differences between Rails 3.1 and earlier versions (323026c).
kumade
Big refactoring on our Heroku deployer, kumade. Gabe Berke-Williams (gabebw) added an Outputter
class, which knows how to output things. After much discussion he made this a part of the configuration and used the well-blogged-about dependency injection pattern to simplify tests. This outputter means that you could potentially add a GUI or Web outputter! Imagine the possibilities! JSON! AJAX! XMPP! BBQ! (342082a, bb95538, 3af22ce, 6d7c867, 92a4add). Along the way he fixed a failing spec (6359702), only deleted branches if they exist (f260e9e), and showed an error message when the deployment fails (c27f13f).
Matt Jankowski (mjankowski) updated the README’s copyright, license, and credits sections (acd2b6a) and then Gabe released version 0.5.0 of kumade (a28adea).
pacecar
Our collection of ActiveRecord scopes is pacecar. Ryan Sonnek (wireframe) fixed deprecation warnings that appear when you leave space between a method and the open parenthesis (bdca580 and 199ad67). Matt Jankowski (mjankowski) tested it on Rails 3.1.1 (3be3ad5) and then released version 1.5.2 of pacecar (f838a84).
paperclip
Ah paperclip, the file uploader gem for Rails. In the housekeeping area, Prem Sichanugrist (sikachu) fixed some stray whitespace (7ab5ba6) and regenerated the appraisal gemfiles (47a56c2); trafnar (trafnar) added more about URI obfuscation to the README (2b8526b); and Nick Quaranto (qrush) noted that #form_for
needs <%=
(d808aa6).
Feature-wise, Prem removed the Rails root from the default S3 storage ([4ecd5b1](http://github.com/thoughtbot/paperclip/commit/4ecd5b1d0568029209d8574819f1535b4729bf74 "Remove :rails_root/public/system from default URL of S3 storage
So instead of having:
http://s3.amazonaws.com/paperclip/var/www/foo.com/current/avatars/1/original/foo.jpg
because default path has the :rails_root, now you”)) and added an InterpolatedString
class to handle URL escaping ([56e4135](http://github.com/thoughtbot/paperclip/commit/56e413590c9e9d7fc62311863295b779b55be071 “Avoid calling URI.escape in #url method, and use Paperclip::InterpolatedString
Paperclip::InterpolatedString will ensure that we”) and db60516).
shoulda-matchers
I finally got our collection of RSpec matchers to pass on my laptop: shoulda-matchers. So from Håkon Lerring (Hakon) we have a matcher for the :conditions
option for associations (293b8aa); from Jeff Dutil (jdutil) we have a documentation fix for the have_readonly_attribute
matcher (ea477b8); from Light Year Software, LLC (lightyear) we got a fix for validations_uniqueness_of
with a non-string value (21fa1f1); and from Shalva Usubov (shaliko) we got another documentation fix to remove some duplication for the route
matcher (3ee5e5f).
suspenders
The Rails template we use for starting new apps is suspenders. Harold Giménez (hgimenez) updated it to use Rails 3.1.1 (0504fa2) and along the way used the Ruby File
class where possible to abstract out platform-dependent file path issues (45faf41), removed any explicit JavaScript caching (552c654), and no doubt noticed that the REPO
command-line variable is undocumented so he added it himself to the CONTRIBUTING documentation (4025029).