I have an object with a boolean var.

```
 field :processing, :type => Boolean

```

The dev before me wrote some code that says this.

```
 :processing => nil 

```

(He is, for some reason, setting it to nil instead of false.)

He then does this if statement

```
 return if self.processing
 dosomethingelse....

```

If I write code that does this

```
:processing => false 

```

what happens the next time this code runs? Does dosomethingelse run? 

```
return if self.processing
dosomethingelse....

```

UPDATE ===========

To many questions below so will answer here.

I added this 

```
  field :processing, :type => Boolean, :default => false

```

and it broke the app. When I changed to the above dosomethingelse never gets run?  

`return if self.processing` returns. Any suggestions?

UPDATE 2 =======================================

Here is every reference to processing in my code (redacted). Also I am using MongoDB if that matters.

```
.where(:processing => nil).gt(:retries => 0).asc(:send_time).all.entries

if self.processing 
end

return if self.processing
self.update_attributes(:processing => true)
dosomethingelse....

.where(:sent_time => nil).where(:processing => nil).gt(:retries => 0).asc(:send_time).all.entries

:processing => nil

```