Putting different materials on array endcaps?

I’m trying to make something like a neon sign, where most of it has an emitting material, and the parts going down have a dull black material. I’m using an array with caps to make the whole thing work, but I can’t figure out how to directly edit the caps. I was hoping to use vertex coloring in Cycles to make a smooth transition between the two materials.
Eye2.blend (768 KB)
Here’s the .blend file, with just the stuff I’m trying to get work. You’ll need the latest builder version of Blender to work with it, because the latest stable releases crash when trying to work with models using arrays with caps.