# File lib/pacecar/state.rb, line 9
      def has_state(*names)
        opts = names.extract_options!
        names.each do |name|
          constant = opts[:with] || const_get(name.to_s.pluralize.upcase)
          constant.each do |state|
            scope "#{name}_#{state.downcase}", -> {
              where(arel_table[name].eq state)
            }
            scope "#{name}_not_#{state.downcase}", -> {
              where(arel_table[name].not_eq state)
            }
            self.class_eval %Q{
              def #{name}_#{state.downcase}?
                #{name} == '#{state}'
              end
              def #{name}_not_#{state.downcase}?
                #{name} != '#{state}'
              end
            }
          end
          scope "#{name}", ->(state) {
            where(arel_table[name].eq state)
          }
          scope "#{name}_not", ->(state) {
            where(arel_table[name].not_eq state)
          }
        end
      end