This post originated from an RSS feed registered with Ruby Buzz
by Red Handed.
Original Post: Sharing Ruby and Python Exceptions
Feed Title: RedHanded
Feed URL: http://redhanded.hobix.com/index.xml
Feed Description: sneaking Ruby through the system
If you’re coming from Python and using Ruby now (or straddling the both,) you might relate to Jonas Galvez, who prefers the Liberal Feed Parser when parsing RSS and is calling it from Ruby. The sly part is that he’s passing back exceptions to Ruby in YAML. He’s just got a file that defines error codes and his classes are trained to turn those codes into exceptions.
ERROR_CODES = YAML::load open("config/errorcodes.yml").read
module MyExceptions
class MyException < StandardError
end
CODES = []
for k, v in ERROR_CODES
CODES[v['code']] = const_set(k, Class.new(MyException) {
define_method :to_s do
"{code: #{v['code']}, message: #{v['message']}}"
end
})
end
end
Not bad at all. I’ll bet you guys will put arms on this thing. A bit more than to_s needs to be defined, I guess. Anyway, touch it, it’s real.