I'll open an issue in Github about this, but you shouldn't own the entire struct tag, and there is a convention for this. If I want to serialize the same object to JSON, I should be able to (I can with the way it works right now, but I cannot customize the JSON encoding at all).
Follow convention:
type Foo struct {
Thing string `json:"thinger,omitempty" hood:"pk"`
}
Or, even, get bold and claim sql: type Foo struct {
Thing string `json:"thinger,omitempty" sql:"size(128)"`
}
You can then use stuff built in to reflect to get the information for you, rather than parsing yourself:http://golang.org/pkg/reflect/#StructTag
That aside, great work! I've been waiting for something like this.
(Edit: Someone already beat me to it: https://github.com/eaigner/hood/issues/1 -- Hacker Newsers think alike, I guess...)