Namely, this line is suspect:
$CLIENT.send(self.class.to_s.downcase.pluralize).put(avro_pair.key, avro_pair.value)
As in, the following unexpected behavior will happen:
# For class HashTag
$CLIENT.hash_tags # => error
$CLIENT.hashtags # => success
Easily fixed by doing the following:
$CLIENT.send(self.class.to_s.underscore.downcase.pluralize).put(avro_pair.key, avro_pair.value)
However, as Gradit is already working around this in GraditClient.scala, changing it at this point would break Gradit so I'll leave it as an open isue.