General

JRuby and Polyglot

JRuby 1.5.6 (I know. Old) Rails 3.0.1 Polyglot 0.3.3 UPDATE: see easier fix below Getting the following error when bundling: {% highlight ruby %} Java::JavaLang::ArrayIndexOutOfBoundsException: An error occured while installing polyglot (0.3.3), and Bundler cannot continue. Make sure that gem install polyglot -v ‘0.3.3’ succeeds before bundling. {% endhighlight %} JRuby YAML parser is erring with this version of...

Rails, nested attributes and before_save callbacks

I had a Project model with a many ProjectWell (as in oil) association. Taking advantage of the accepts_nested_attributes, I was able to persist both Project and ProjectWell attributes through a single web form. {% highlight ruby %} class Project < ActiveRecord::Base has_many :project_wells accepts_nested_attributes_for :project_wells end class ProjectWell < ActiveRecord::Base belongs_to :project end {% endhighlight %} Now, the ProjectWell...

Test Oracle Database Views with Rails

Testing Rails with a legacy oracle schema as a backend is always a challenge (fun?). Rails relies no schema.rb to create its test database. The problem is that using the latest activerecord-oracle_enhanced-adapter (1.4.0), the application is unaware of the database views. So, I’ve decided to create those DB views (development) as DB tables (test). {% highlight ruby %} #names...

Rails – disable timezone conversions

In order to globally disable the use of TimeZone conversions for your (legacy?) application – here’s the proper configurations: In config/application.rb (or config/environment.rb depending on Rails version): 123 config.time_zone = ‘Mountain Time (US & Canada)’ #uncommented and set to proper zone config.active_record.default_timezone = :local config.active_record.time_zone_aware_attributes = false

Heroku timezone adjustment

Setting up timezone on Heroku instance using heroku gem (command line) {% highlight ruby %} heroku config:add TZ=America/Edmonton …. heroku console Time.now => … -0700 … {% endhighlight %} Heroku apparently accepts zoneinfo timezones. It works, thank you for the useful post. I set for Europe/London. Yeah thanks for this tip. Very handy. Awesome, this made my night much...

Contents Invalid public key / Fingerprint can’t be blank

Getting the above error message trying to deploy to Heroku (Windows, PuTTY keygen). Turns out the public/private key files saved through putty aren’t of a valid OpenSSH format (expected by Heroku). You can still use Putty Keygen by copying the text generated under “Public key for pasting into OpenSSH authorized_key file” (save it to your *.pub) I’m inching towards...

NoMethodError: undefined method `eq’ for nil:NilClass

JRuby 1.5.2 Rails 3.0 activerecord-jdbc-adapter 0.9.7 This issue arises when setting table name with a schema name prefix. For those in the know – this is a must-have if you’re connecting to oracle using a non-owner username (activerecord-jdbc-adapter). {% highlight ruby %} class Model < ActiveRecord::Base set_table_name ‘.<table>’ end` </table></ts_code> Now – tracking this down led to lib/arel/engines/sql/relations/table.rb `def...

Java for the forever beginner (II)

If your JSP code is almost 2/3rd pure Java code, then you’re doing something wrong.  One easy way of knowing Java code from HTML/Snippets is to look at the PALE GREEN (see image for color tone). If the pale green is more than the white – then you must be joking. If you move the green parts to become...

JRuby / PaperClip

Hello fellow developer stuck with JRuby, Paperclip file size = 0 issue 🙂 Apparently the Paperclip workaround to report the proper file size doesn’t work with the current implementation of JRuby (Windows XP). This “might” work (not thoroughly tested): iostream.rb 1234567891011if defined? Tempfile class Tempfile def size if self.path File.size(self.path) else 0 end end endend The issue is reported...