Something that would work instead of a StringPool that is Ruby-ish is use 
of symbols. Symbols are Ruby's answer to the StringPool. If things are 
stored as symbols, you can work with them similarly as to what you would 
expect and reduce # objects, e.g.

jruby-1.7.0.preview2 :008 > :error.object_id
 => 2050 
jruby-1.7.0.preview2 :009 > :error.object_id
 => 2050 
jruby-1.7.0.preview2 :010 > :error.to_s.chomp!('or').to_sym
 => :err 
jruby-1.7.0.preview2 :011 > :error.to_s.chomp!('or').to_sym.object_id
 => 2052 
jruby-1.7.0.preview2 :012 > :error.to_s.chomp!('or').to_sym.object_id
 => 2052

So basically if everywhere in Rails documentation that referred to strings 
instead specified constants, and if the method didn't support constants 
that would be a good goal:
http://guides.rubyonrails.org

But still, whenever you output a string to a log, it becomes a string. So, 
you might be able to make some inroads by changes to Rails and related 
documentation, but if Ruby "fixed it" instead via something like StringPool 
(again- a major and breaking change), then you wouldn't have to worry about 
wasting all that time on the Rails side.

In addition, many text editors and IDEs have different colors for Strings, 
so that keys and values stand out better in examples like:

class Employee < ActiveRecord::Base
  has_many :subordinates, :class_name => "Employee",
    :foreign_key => "manager_id"
  belongs_to :manager, :class_name => "Employee"
end

So, if you switch to all symbols, it is a little more monotone, colorwise. 
However, if you switch to Ruby 1.9 key/value then you could color the key 
in a: :b differently by the fact that it ends in a colon vs. starting with 
one. Unfortunately, the existing default color schemes don't usually do 
that.

-- 
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Core" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/rubyonrails-core/-/W-QsFXyc4cwJ.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-core?hl=en.

Reply via email to