Have you initialised the $Ruby and $Oscar story variables to either true or false before visiting that Passage?
Because if you haven't then they will both default to null, which is equal to neither true or false, so both of your conditional expressions will evaluate to false. Ideally such intialisation should be done within your project's StoryInit special passage.
<<set $Ruby to false>>
<<set $Oscar to false>>
There are a couple of other issues with your example:
1. The correct way to determine if a Boolean variable is equal to true or false is as follows.
<<if $variable>>The story variable equals true.<</if>>
<<if not $variable>>The story variable equals false.<</if>>
2. You can use an <<else>> macro instead of an <<elseif>>
For your first conditional expression to successed both of the story variables have to equal true, this means that if either variable equals false then that expression will automatically fail and such a failure can be handled by the <<else>> macro. Using an <<else>> in this situation is more efficent because the values of the story variables don't have to be checked a second time, like they would need to be if you used an <<elseif>> macro.
Based on both of the above points your original example would look like either of the following.
<<if $Ruby && $Oscar>> You've found a secret path. Would you like to [[take it]]?
<<else>>When you're ready to begin, click [[here|intro]].
<</if>>
<<if $Ruby and $Oscar>> You've found a secret path. Would you like to [[take it]]?
<<else>>When you're ready to begin, click [[here|intro]].
<</if>>