<p>I like the idea, I'd be tempted to try and hide the fact that the fields may be either strings or hashrefs more... that is instead of having ref $_ ? everywhere, make a method field_names on the Index object which just returns the strings, and maybe another one fields_with_lengths, which returns names and/or name(size) strings as appropriate.</p>

<p>That way if we at some point add more attrs or just make them all refs, we only change one place.</p>

<p style="font-size:small;-webkit-text-size-adjust:none;color:#666;">&mdash;<br>Reply to this email directly or <a href="https://github.com/dbsrgits/sql-translator/pull/68#issuecomment-153688427">view it on GitHub</a>.<img alt="" height="1" src="https://github.com/notifications/beacon/AASeAsSZSCBuxDCRVColkn4kHtp4fvYwks5pCd-MgaJpZM4F2eny.gif" width="1" /></p>
<div itemscope itemtype="http://schema.org/EmailMessage">
<div itemprop="action" itemscope itemtype="http://schema.org/ViewAction">
  <link itemprop="url" href="https://github.com/dbsrgits/sql-translator/pull/68#issuecomment-153688427"></link>
  <meta itemprop="name" content="View Pull Request"></meta>
</div>
<meta itemprop="description" content="View this Pull Request on GitHub"></meta>
</div>