Abhijit Hiremagalur's blog
Ask for Help
- How to specify compile flags when installing the mysql gem with Bundler 1.0.0RC1?
Don't. Instead use version 2.8.1 of the mysql gem and ensure mysql_config is on your PATH.
Interesting Things
- The team whose CI build was running Bundler too many times addressed this by wrapping
bundle installin a conditional usingbundle check.
This saved about three minutes of build time (from what used to be 11ish runs of bundle install instead of bundle check.)
- Websocksets are easy, use them if you need to 'push' to your webapp and your server can handle many persistent connections.
This was in reaction to some recent conversation between Pivots about Pusher, which will keep persistent connections on your behalf.
This said, here's a quote from websockets.org:
WebSockets represent an alternative to Comet and Ajax. However, each technology has its own unique capabilities. Learn how these technologies vary so you can make the right choice.
Ask for Help
- Double-entry/ledger based accounting in Rails (i.e. Quickbooks in Rails for free)
Ideally would be tied in with user/role system where each accounting entry would be tied to a user, but also reconciled against a master account. Recommendations? Latest and greatest?
One suggestion was to look at the code that Wesabe open sourced code when they closed their doors.
- Error message when opening Rubymine "Invalid Git Root"
This is likely because the project included a submodule that wasn't configured correctly, fix this in under Rubymine's version control preferences.

Interesting Things
Test 404 handling (e.g.
rescue_from ActiveRecord::RecordNotFound, :with => :render_record_not_found) with Cucumber by temporarily settingActionController::Base.allow_rescue = true. This is usually set tofalseinfeatures/support/env.rbJSON.pretty_generatehates Rails 3Hashes
- Use window.postMessage to communicate between IFrames in a standard way
This should work in most modern browsers. Follow the Mozilla docs, NOT the various blog posts about this.
Ask for Help
- I asked if there's a date library in Ruby as rich as Java's JODA
Suggestions included Chronic and RI_CAL though I'm hoping for something that can represent arbitrary periods (ranges?) of time JODA and handles interval calculation and other such date/time arithmetic.
- is(':visible') doesn't always work as expected in Jasmine
One project reported that using this to as part of a Jasmine spec to ensure that an element becomes visible doesn't appear to be reliable.
- Annotate and Git History failed for a team using Rubymine 2.0.2 and git 1.7.2.1 in combination with svn.
They solved the problem by downgrading to git 1.7.1.1:
I followed instructions here to create a local set of portfiles:
http://guide.macports.org/#development.local-repositories and grabbed the older portfile from here:
https://trac.macports.org/browser/trunk/dports/devel/git-core?rev=69357
After I could do a port search git-core and have 1.7.1.1 show up, I was able to
sudo port deactivate git-core @1.7.2_0+doc+svnandsudo port install git-core @1.7.1.1+doc+svn
One person was experienced compile errors when installing
memprofon Ubuntu, fortunately somebody else had gotten this working before and offered to help him through thee.A team noticed that Bundler ran multiple (4) times on CI taking nearly 11mins overall and wanted to know to make Bundler run only once
It was suggested that the problem may be due to the way they'd setup their preinitializer.rb and they should move the bundle install into a Rake task.
if ENV['IS_CI_BOX']
puts "IS_CI_BOX is set, running bundle install..."
system('bundle install') || raise("'bundle install' command failed. Install bundler with gem install bundler.")
end
It was pointed out that they should make sure their Gemfile.lock file is checked into version control, which it was. Additionally Bundler 1.0.0 RC1 will allow isolating gems to a local path using bundle install path --disable-shared-gems
Interesting Things
- The Facebook Graph API doesn't appear to implement OAuth 2.0 properly/completely so it doesn't work with the OAuth2 gem
- One Pivot noticed that the version of ImageMagick installed on the default EngineYard solo image is out of date and had to upgrade this manually.
Interesting Things
- One team noticed an odd error when they mistyped a
Thorconstant name.
ArgumentError: Thor is not missing constant Sandbox!.
This appears to due to how #const_missing in activesupport handles nested constant names. Specifically when trying to reference one nested constant from within another nested constant that isn't its parent:
Curiously the spec that exposed the previous issue also returned this odd summary:
0 examples, 1 failure, -1 passed
This is also similar to another standup blog post from almost a year ago.
- When using JB's technique to save fixtures
for Jasmine in controller specs, considering naming all your examples that create fixtures identically. This way you can easily run just these examples to regenerate your fixtures with something like
spec -e 'should generate a fixture for jasmine'
