Could this be done with a case statement? Little more explicit then.

```ruby
case semantic.fleld_type.to_sym
when :text, :email, :etc
  add_control_input(semantic)
when
  # ...
end
```

Also, given you pass semantic into #add_control_input below, why not access the field type interally in the method?