Rcov
SimpleCov
Rcov
SimpleCov
| class MiniTest::Unit::TestCase | |
| def assert_change(block) | |
| before = block.call | |
| yield | |
| refute_equal before, block.call | |
| end | |
| def refute_change(block) |
| require 'rical' | |
| require 'open-uri' | |
| url = "[iCal feed URL here]" | |
| open(url) do |ics| | |
| #RiCal.parse returns an array of RiCalendar objects | |
| @calendars = RiCal.parse(ics) | |
| end |
| Feature: Salary range comparisons | |
| AS A person involved in a recruitment discussion | |
| I WANT to know whether the candidate's and recruiter's expected salary ranges overlap | |
| SO THAT I can avoid spending time on negotiations that can't ultimately be satisfied | |
| AS A person who knows about the phenomenon of price anchoring | |
| I WANT to approach this question without necessarily being first to name a number | |
| SO THAT I don't compromise my negotiating position |
| # MAINTAINABLE CODE ON A LARGE PROJECT!! | |
| # you shouldn't be able to use an object wrongly | |
| # avoid mutability, especially to the outside world and to inputs. work with values | |
| def accrue_interest(loan, start_date, end_date) | |
| loan.accrued_interest = (loan.daily_interest_rate * loan.principal) * (start_date - end_date) | |
| end | |
| # becomes |
| ShippingModel < AR::Base | |
| before_validation :validate_address | |
| after_save :set_asp_sr_id | |
| def initialize(opts) | |
| super | |
| @validator = opts[:validator] || AddressValidator | |
| end | |
Originally published in June 2008
When hiring Ruby on Rails programmers, knowing the right questions to ask during an interview was a real challenge for me at first. In 30 minutes or less, it's difficult to get a solid read on a candidate's skill set without looking at code they've previously written. And in the corporate/enterprise world, I often don't have access to their previous work.
To ensure we hired competent ruby developers at my last job, I created a list of 15 ruby questions -- a ruby measuring stick if you will -- to select the cream of the crop that walked through our doors.
Candidates will typically give you a range of responses based on their experience and personality. So it's up to you to decide the correctness of their answer.