This seems like it's better implemented on `Address`, and it's probably fine to call it `Address#blank?`.  `#empty?` has a very specific meaning in Ruby (empty hash, empty set, empty string) and I don't think it's applicable here, but `#blank?` is much more loosely defined and I think it's fine to define it as follows:

```ruby
class Address
   CONTENT_FIELDS = %w(address_one address_two unit city state_code zip zip4).map(&:to_sym)
   MISSING_IN_ERROR = -4

   def blank?
     CONTENT_FIELDS.all? { |cf| v = send(cf); v.blank? || v == MISSING_IN_ERROR }
   end
end
```

However, this brings to light a couple of other problems that need to be addressed:

1. The only NCS coded attribute here is `state_code`.  It seems to me that explicitly comparing it to `MISSING_IN_ERROR` isn't right and I wonder if it's okay to say "an NCS code of Missing in Error is `blank`".
2. The rationale behind the selection of fields in `CONTENT_FIELDS` isn't clear, at least not to me.