What does the line below checks and perform? 

```
prefix = root_dir.nil? ? nil : File.join(root_dir, '/')

```

Here is the block that contains the line of code.

```
def some_name(root_dir = nil, environment = 'stage', branch)
        prefix = root_dir.nil? ? nil : File.join(root_dir, '/')
.
.
. 

```

i know that the '?' in ruby is something that checks the yes/no fulfillment. But I am not very clear on its usage/syntax in the above block of code.