March 19th, 2008 benhughes
Today I deployed a major update to my Jazz object model which implements a full REST web interface that is currently accessible through a web browser. Visit http://www.jazztoolbox.com/ for the RDocs - there are plenty of examples at the bottom of the index file, or you can try this immediately:
http://www.jazztoolbox.com/chords.xml
Some fairly complex relationships can be explored in this manner just using your web browser (displaying XML). Note that I still do not have a whole lot of data in here; all the data is just my personal knowledge of Jazz theory. Eventually I will consult a theory reference and develop the database of jazz more thoroughly.
Posted in Uncategorized | No Comments »
March 11th, 2008 benhughes
Something I constantly find myself doing is checking to see if a value is blank, and returning something else if it is, otherwise the object itself:
birthday.blank? ? '0000-00-00' : birthday
I started thinking about how I could possibly eliminate the need for all these ternary operators, and came up with this:
class Object
def or_if_blank(value)
self.respond_to?(:blank) && self.blank? ? value : self
end
end
Now we can do something like this:
birthday.or_if_blank('0000-00-00')
You could do something similar for nil, though a more general Ruby idiom is to just use the || operator, which does not work for blank.
On another note, if any of you are used to appending a “if object.respond_to?(:method)” predicate, check out this technique using try.
Posted in Uncategorized | 1 Comment »